Audacity 3.2.0
|
Utility for non-intrusive definition of a new method on a base class. More...
#include <functional>
#include <mutex>
#include <type_traits>
#include <utility>
#include "InconsistencyException.h"
Go to the source code of this file.
Classes | |
class | AttachedVirtualFunction< Tag, Return, This, Arguments > |
Class template generates single-dispatch, open method registry tables. More... | |
struct | AttachedVirtualFunction< Tag, Return, This, Arguments >::Override< Subclass, Overridden > |
For defining overrides of the method. More... | |
struct | AttachedVirtualFunction< Tag, Return, This, Arguments >::Entry |
Member of registry of implementations of the method. More... | |
Macros | |
#define | DECLARE_EXPORTED_ATTACHED_VIRTUAL(DECLSPEC, Name) |
Typically follow the using declaration of a new AttachedVirtualFunction with this macro. More... | |
#define | DEFINE_ATTACHED_VIRTUAL(Name) |
Used in the companion .cpp file to the .h using the above macro; followed by a function body. More... | |
#define | DEFINE_ATTACHED_VIRTUAL_OVERRIDE(Name) |
Used to define overriding function; followed by a function body. More... | |
Utility for non-intrusive definition of a new method on a base class.
Audacity: A Digital Audio Editor
Paul Licameli
Definition in file AttachedVirtualFunction.h.
#define DECLARE_EXPORTED_ATTACHED_VIRTUAL | ( | DECLSPEC, | |
Name | |||
) |
Typically follow the using
declaration of a new AttachedVirtualFunction with this macro.
Definition at line 281 of file AttachedVirtualFunction.h.
#define DEFINE_ATTACHED_VIRTUAL | ( | Name | ) |
Used in the companion .cpp file to the .h using the above macro; followed by a function body.
Definition at line 287 of file AttachedVirtualFunction.h.
#define DEFINE_ATTACHED_VIRTUAL_OVERRIDE | ( | Name | ) |
Used to define overriding function; followed by a function body.
Definition at line 302 of file AttachedVirtualFunction.h.