|
template<typename ... Interfaces> |
using | interface_expose = ant::interface_expose< Interfaces... > |
| Alias bringing the latest version of meta struct template ant::interface_expose into scope.
|
|
template<typename ... ParentTypes> |
using | inherit_from = ant::inherit_from< ParentTypes... > |
| Alias bringing the latest version of meta struct template ant::inherit_from into scope.
|
|
template<typename ... InterfaceTypes> |
using | expose_interfaces = ant::expose_interfaces< InterfaceTypes... > |
| Alias bringing the latest version of meta struct template ant::expose_interfaces into scope.
|
|
template<typename ... Types> |
using | default_object = ant::default_object< Types... > |
| Alias bringing the latest version of meta struct template ant::default_object into scope.
|
|
template<typename BASE_CLASS , typename EXTEND_INTERFACE , typename Child > |
using | extend_object = ant::extend_object< BASE_CLASS, EXTEND_INTERFACE, Child > |
| Alias bringing the latest version of meta struct template ant::extend_object into scope.
|
|
Copyright © Audi Electronics Venture GmbH.
All rights reserved
Definition in file adtf_iid.h.
#define UCOM_RESOLVE |
( |
|
... | ) |
typedef std::tuple < __VA_ARGS__ > hierarchy_type; |
Resolve a path to a base class which is inherited multiple times.
In a multiple inheritance we might end up with one base class inherited multiple times. To address the possible resulting ambiguous instantiations, we tell the compiler which "way" to use when casting up to such a base class. The "way" is called a hierarchy which is given with macro UCOM_RESOLVE()
. Inside this macro the base class is given together with a so called intermediate type informing the compiler which type to use when upcasting to a base type that is inherited multiple times. This macro takes an arbitrary number of arguments. The arguments must be given as key-value-pairs, meaning every key being the interface that needs to be resolved and every value being the intermediate type to use. The key-value-pairs might either be given directly or as types of typedefd std::pair<>
Definition at line 40 of file adtf_iid.h.