|
class | has_interface_type< T > |
| template that checks whether a type has an accessible interface_type property. 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< T > |
| template that checks whether a type has an accessible (protected or public) GetInterface method. More...
|
|
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< Base, NextBase > |
| This template checks if the first base implements the requested interface, otherwise checks the next base. More...
|
|
class | derive_from_with_hierarchy< Base, NextBase > |
| This template checks if the first base implements the requested interface, otherwise checks the next base. More...
|
|
class | expose_additional_interfaces< Base, Interfaces > |
|
class | object_without_iobject< Bases > |
| This template is used to prevent an ambiguous base of ucom::ant::IObject. More...
|
|
class | derive_from< Base, NextBase > |
| This template checks if the first base implements the requested interface, otherwise checks the next base. More...
|
|
struct | parent_follows_child< Bases > |
| 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...
|
|
class | object< Bases > |
| Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an existing class that implements ucom::ant::IObject. More...
|
|
class | object< Base, Bases... > |
| Use this template if you want to implement an ucom::ant::IObject based Interface and/or subclass an existing class that implements ucom::ant::IObject. More...
|
|
|
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
|
|
template<typename Base , typename... Bases> |
using | object_base_type_helper = typename std::conditional< std::is_base_of< object<>, Base >::value, detail::derive_from< Base, detail::object_without_iobject< Bases... > >, detail::derive_from< Base, object< Bases... > >>::type |
|
Copyright © Audi Electronics Venture GmbH.
All rights reserved
Definition in file object.h.