template<typename T>
class AZ::Interface< T >
Interface class for accessing registered singletons across module boundaries. The raw interface pointer is handed to you; the assumption is that the registered system will outlive cached references. A system must register itself with the interface at initialization time by calling Register(); and unregister at shutdown by calling Unregister(). The provided Registrar class will do this for you automatically. Registration will only succeed after the AZ::Environment has been attached and is ready.
Example Usage:
class ISystem
{
public:
virtual ~ISystem();
virtual void DoSomething() = 0;
};
class System
{
public:
void DoSomething() override;
};
{
system->DoSomething();
}
Definition Interface.h:62