Audacity 3.2.0
Public Member Functions | Private Attributes | List of all members
ScopedSizer< ReturnType, Args > Class Template Reference

#include <ShuttleGuiScopedSizer.h>

Inheritance diagram for ScopedSizer< ReturnType, Args >:
[legend]
Collaboration diagram for ScopedSizer< ReturnType, Args >:
[legend]

Public Member Functions

 ScopedSizer (ShuttleGui &s, ReturnType(ShuttleGui::*startFunc)(Args...), void(ShuttleGui::*endFunc)(), Args... args)
 
 ~ScopedSizer ()
 

Private Attributes

ShuttleGuimShuttleGui
 
ReturnType(ShuttleGui::* mStartFunction )(Args...)
 
void(ShuttleGui::* mEndFunction )()
 

Detailed Description

template<typename ReturnType, typename... Args>
class ScopedSizer< ReturnType, Args >

Definition at line 5 of file ShuttleGuiScopedSizer.h.

Constructor & Destructor Documentation

◆ ScopedSizer()

template<typename ReturnType , typename... Args>
ScopedSizer< ReturnType, Args >::ScopedSizer ( ShuttleGui s,
ReturnType(ShuttleGui::*)(Args...)  startFunc,
void(ShuttleGui::*)()  endFunc,
Args...  args 
)
inline

Definition at line 8 of file ShuttleGuiScopedSizer.h.

11 : mShuttleGui(s)
12 , mStartFunction(startFunc)
13 , mEndFunction(endFunc)
14 {
15 (mShuttleGui.*mStartFunction)(std::forward<Args>(args)...);
16 }
ReturnType(ShuttleGui::* mStartFunction)(Args...)
ShuttleGui & mShuttleGui
void(ShuttleGui::* mEndFunction)()

References ScopedSizer< ReturnType, Args >::mShuttleGui, and ScopedSizer< ReturnType, Args >::mStartFunction.

◆ ~ScopedSizer()

template<typename ReturnType , typename... Args>
ScopedSizer< ReturnType, Args >::~ScopedSizer ( )
inline

Member Data Documentation

◆ mEndFunction

template<typename ReturnType , typename... Args>
void(ShuttleGui::* ScopedSizer< ReturnType, Args >::mEndFunction) ()
private

◆ mShuttleGui

template<typename ReturnType , typename... Args>
ShuttleGui& ScopedSizer< ReturnType, Args >::mShuttleGui
private

◆ mStartFunction

template<typename ReturnType , typename... Args>
ReturnType(ShuttleGui::* ScopedSizer< ReturnType, Args >::mStartFunction) (Args...)
private

The documentation for this class was generated from the following file: