Classes |
|
struct | Undefined |
class | CallMe< T > |
class | CallMe< void > |
class | CallMe< Result< T > > |
class | CallMe< Result< void > > |
class | UnpackConstData< T > |
class | UnpackConstData< RESULT(ARGS...)> |
class | PackConstData< ARGS > |
struct | GetResultType< T > |
struct | GetResultType< Data > |
struct | GetResultType< void > |
struct | GetResultType< Result< T > > |
struct | GetResultType< Result< Data > > |
struct | GetResultType< Result< void > > |
class | FunctionBaseInterface |
class | CombinerInterface |
class | ObservableBaseInterface |
class | ObservableNotifyRef< T > |
class | ObservableNotifyRef< Delegate< RESULT(void)> > |
class | ObservableNotifyRef< Delegate< RESULT(ARGS...)> > |
class | ObservableRef< DELEGATE > |
class | ObservableStaticInterface |
class | ObservableImplRef< ObservableClass, DELEGATE > |
Namespaces |
|
maxon | |
maxon::details |
Macros |
|
#define | PRIVATE_MAXON_OBSERVABLE_IMPL (NAME, Interface) |
#define | PRIVATE_MAXON_OBSERVABLE_IMPL_ |
#define | MAXON_OBSERVABLE_IMPL (NAME, ...) |
#define | OBSERVABLE_IMPL_NONVIRTUAL (NAME) |
#define | MAXON_OBSERVABLE (RETTYPE, NAME, ...) |
#define | MAXON_OBSERVABLE_STATIC (RETTYPE, NAME, ...) |
Typedefs |
|
using | ObservableForwardFunction = Result< Data >(*)(const DelegateBase &observerFunction, const Block< const ConstDataPtr > &data) |
函数 |
|
template<typename... ARGS> | |
static auto | GetUnpackConstData (const Delegate< ARGS... > &) -> UnpackConstData< ARGS... > |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllComponent, "net.maxon.component.observablecombinerrunall") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolOrComponent, "net.maxon.component.observablecombinerrunallboolor") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilFalse, "net.maxon.component.observablecombinerrunallbooluntilfalse") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllBoolUntilTrue, "net.maxon.component.observablecombinerrunallbooluntiltrue") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlagsOrComponent, "net.maxon.component.observablecombinerrunallenumflagsor") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllEnumFlags64OrComponent, "net.maxon.component.observablecombinerrunallenumflags64or") | |
MAXON_DECLARATION (ComponentDescriptor, ObservableCombinerRunAllAggregateErrorsComponent, "net.maxon.component.observablecombinerrunallaggregateerrors") | |
MAXON_DECLARATION (Class< FunctionBaseRef >, FunctionBaseClass, "net.maxon.class.functionbase") | |
MAXON_DECLARATION (Class< ObservableBaseRef >, ObservableClass, "net.maxon.class.observable") |
变量 |
|
static constexpr Int | ADDOBSERVER_DEFAULTPRIORITY |
#define PRIVATE_MAXON_OBSERVABLE_IMPL | ( | NAME, | |
Interface | |||
) |
#define PRIVATE_MAXON_OBSERVABLE_IMPL_ |
#define MAXON_OBSERVABLE_IMPL | ( | NAME, | |
... | |||
) |
Macro for observable implementation. Use MAXON_OBSERVABLE_IMPL(observableName) within the implementation of interfaces which offer observables.
[in] | NAME | Name of the observable in the interface class. |
[in] | ... | Optional: The interface of NAME. You need to specify this when the component doesn't implement exactly the interface of NAME, but e.g. a derived interface or additional interfaces. Example usage: class NetworkZeroConfBonjourBrowserImpl : public 组件 <NetworkZeroConfBonjourBrowserImpl, NetworkZeroConfBrowserInterface> { MAXON_COMPONENT (); public : Result<void> InitComponent() { iferr (_ObservableDetected.Init( self , Id( "ObservableDetected" ))) return err; iferr (_ObservableResolved.Init(self, Id("ObservableResolved"))) return err; return true; } void FreeComponent() { _ObservableDetected.Free(); _ObservableResolved.Free(); } MAXON_OBSERVABLE_IMPL (ObservableDetected); MAXON_OBSERVABLE_IMPL (ObservableResolved); }; |
#define OBSERVABLE_IMPL_NONVIRTUAL | ( | NAME | ) |
Macro for observable implementation in non-virtual interfaces.
[in] | NAME | Name of the observable in the interface class. Example usage: class TimerImpl : public TimerInterface { MAXON_IMPLEMENTATION (TimerImpl) public : TimerImpl() { _notificationObject = ObserverObjectClass().Create().GetPointer(); _ObservableTimerStarted.Init(_notificationObject, Id( "ObservableTimerStarted" )); } ~TimerImpl() { _ObservableTimerStarted.Free(); } void Start() { _ObservableTimerStarted.Notify(); } OBSERVABLE_IMPL_NONVIRTUAL (ObservableTimerStarted); private : ObserverObjectRef _notificationObject; }; |
#define MAXON_OBSERVABLE | ( | RETTYPE, | |
NAME, | |||
... | |||
) |
Defined Observables for the source processor.
#define MAXON_OBSERVABLE_STATIC | ( | RETTYPE, | |
NAME, | |||
... | |||
) |