ADTF
3.18.2
|
Namespace for all internally used uCOM functionality implemented. More...
Classes | |
class | has_interface_type |
template that checks whether a type has an accessible interface_type property. More... | |
struct | is_interface |
template that checks whether a type is an interface with an IID. More... | |
struct | is_interface< T, typename std::enable_if<!has_interface_type< T >::value >::type > |
struct | is_interface< T, typename std::enable_if< has_interface_type< T >::value &&!is_interface_helper< T >::value >::type > |
struct | is_interface< T, typename std::enable_if< has_interface_type< T >::value &&is_interface_helper< T >::value >::type > |
class | has_get_interface |
template that checks whether a type has an accessible (protected or public) GetInterface method. More... | |
struct | base_dispatcher |
struct | base_dispatcher< void, void > |
struct | base_dispatcher< BaseClass, typename std::enable_if<!is_interface< BaseClass >::value &&!has_get_interface< BaseClass >::value >::type > |
This template is for base classes that are no interfaces and do not implement IObject. More... | |
struct | base_dispatcher< BaseClass, typename std::enable_if<!is_interface< BaseClass >::value &&has_get_interface< BaseClass >::value >::type > |
This template forwards a GetInterface call to a base class. More... | |
struct | base_dispatcher< Interface, typename std::enable_if< is_interface< Interface >::value >::type > |
This template returns a pointer to the implemented Interface if requested. More... | |
class | derive_from_without_hierarchy |
This template checks if the first base implements the requested interface, otherwise checks the next base. More... | |
class | derive_from_with_hierarchy |
This template checks if the first base implements the requested interface, otherwise checks the next base. More... | |
class | expose_additional_interfaces |
class | object_without_iobject |
This template is used to prevent an ambiguous base of ucom::ant::IObject. More... | |
class | derive_from |
This template checks if the first base implements the requested interface, otherwise checks the next base. More... | |
struct | parent_follows_child |
this template checks if parent interfaces are not specified before their children More... | |
struct | parent_follows_child< Base, NextBase, Bases... > |
this template checks if parent interfaces are not specified before their children More... | |
class | object_without_iobject< Base, Bases... > |
This template is used to prevent an ambiguous base of ucom::ant::IObject. More... | |
Typedefs | |
template<typename T > | |
using | is_interface_helper = std::is_same< T, typename T::interface_type > |
template<typename Base , typename NextBase > | |
using | derive_from_type = typename std::conditional< std::is_same< NextBase, object_without_iobject<> >::value, expose_additional_interfaces< Base >, typename std::conditional< std::is_base_of< Base, NextBase >::value, expose_additional_interfaces< NextBase, Base >, typename std::conditional< std::is_base_of< ucom::ant::IObject, Base >::value, derive_from_with_hierarchy< Base, NextBase >, derive_from_without_hierarchy< Base, NextBase > >::type >::type >::type |
this intermediate type is used to keep binary compatibility | |
Namespace for all internally used uCOM functionality implemented.