Shortcut namespace for implementing FUnknown based objects.
More...
|
struct | Directly |
| This struct is used to group a list of interfaces from which should be inherited and which should be available via the queryInterface method. More...
|
|
struct | Indirectly |
| This struct is used to group a list of interfaces from which should not be inherited but which should be available via the queryInterface method. More...
|
|
struct | UID |
| This class provides a compile-time uid and enables interfaces to specify a UID as a simple typedef. More...
|
|
|
using | Unknown = FUnknownImpl::HideIIDBase |
|
template<typename BaseClass, typename D, typename I = Indirectly<>> |
using | Extends |
| This typedef enables using a custom base class with the interface implementation.
|
|
template<typename D, typename I = Indirectly<>> |
using | Implements |
| This typedef provides the interface implementation.
|
|
template<typename D, typename I = Indirectly<>> |
using | ImplementsNonDestroyable |
| This typedef provides the interface implementation for objects which should not be destroyed via FUnknown::release (like singletons).
|
|
Shortcut namespace for implementing FUnknown based objects.
◆ Unknown
◆ Extends
template<typename BaseClass, typename D, typename I = Indirectly<>>
This typedef enables using a custom base class with the interface implementation.
◆ Implements
template<typename D, typename I = Indirectly<>>
This typedef provides the interface implementation.
◆ ImplementsNonDestroyable
template<typename D, typename I = Indirectly<>>
This typedef provides the interface implementation for objects which should not be destroyed via FUnknown::release (like singletons).
◆ cast()
Checks if the given Unknown can provide the specified interface and returns it in an IPtr.
- Returns
- an IPtr pointing to an instance of the requested interface or nullptr in case the object does not provide the interface.
◆ getTUID()
- Returns
- the TUID for an interface.