|
| struct | HideIIDBase |
| | A base class which hides the FUnknown::iid static var. More...
|
| |
| struct | Destroyer |
| | Common destroyer policy for ski object instances. More...
|
| |
| struct | UID< t1, t2, t3, t4 > |
| | This class provides a compile-time uid and enables interfaces to specify a UID as a simple typedef. More...
|
| |
| struct | RefCounted |
| | This struct implements reference counting for the U::Implements template. More...
|
| |
| struct | NonDestroyable |
| |
| struct | QueryInterfaceEnd< T > |
| |
| struct | Directly< T > |
| | 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< T > |
| | 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...
|
| |
| class | ImplementsImpl< Base, D, I > |
| |
| class | ImplementsImpl< Base, Indirectly< IndirectInterfaces... >, Directly< DirectInterfaces... > > |
| |
| class | ImplementsImpl< BaseClass, Directly< I, DirectIFs... >, Indirectly< IndirectIFs... > > |
| | This class implements the required virtual methods for the U::Unknown class.
|
| |
| struct | UID< t1, t2, t3, t4 > |
| | This class provides a compile-time uid and enables interfaces to specify a UID as a simple typedef. More...
|
| |
| struct | Directly< T > |
| | 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< T > |
| | 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...
|
| |
|
| using | Unknown = FUnknown |
| | Typedef to keep everything in this namespace.
|
| |
| template<typename BaseClass, typename D, typename I = Indirectly<>> |
| using | Extends = ImplementsImpl<BaseClass, D, I> |
| | This typedef enables using a custom base class with the interface implementation.
|
| |
| template<typename D, typename I = Indirectly<>> |
| using | Implements = ImplementsImpl<Detail::QueryInterfaceEnd<Detail::RefCounted>, D, I> |
| | 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).
|
| |
| 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).
|
| |
|
| template<typename T> |
| const TUID & | getTUID () |
| |
| template<typename I> |
| IPtr< I > | cast (Unknown *u) |
| | Checks if the given Unknown can provide the specified interface and returns it in an IPtr.
|
| |
| template<typename I, typename S, typename T, typename U> |
| IPtr< I > | cast (ImplementsImpl< S, T, U > *u) |
| | Casts to Unknown* and then to the specified interface.
|
| |
| template<typename I, typename T> |
| IPtr< I > | cast (const IPtr< T > &u) |
| | Casts to Unknown* and then to the specified interface.
|
| |
| template<typename I> |
| IPtr< I > | cast (Unknown *u) |
| | Checks if the given Unknown can provide the specified interface and returns it in an IPtr.
|
| |
| template<typename T> |
| const TUID & | getTUID () |
| |