#include <ugmisc/member.hpp>
Public Types | |
| using | type = ??? |
| using | safe_type = ??? |
Static Public Attributes | |
| static constexpr bool | has_member = ??? |
| static constexpr bool | has_default = ??? |
| static constexpr bool | has_type = has_member || has_default |
Instances of this template define member types which alias a named member type of one of their template parameters.
| Access | A type defined by UGMISC_DECL_MEMBER_ACCESS |
| T | A list of types to search, in order, for a member type of the correct name. The name is determined by Access. If one of the types is in instance of default_type, then default_type::type is used as a default type if none of the other types has the correct member. |
For example:
Definition at line 1480 of file member.hpp.
| using ugmisc::member_type_access< Access, T >::safe_type = ??? |
If type is declared, safe_type is the same type. Otherwise, safe_type is void.
Definition at line 1517 of file member.hpp.
| using ugmisc::member_type_access< Access, T >::type = ??? |
The type is the first T::foo which is a valid type expression, if there is one and T is not an instance of default_type.
If there is no such valid expression, the type will be the value of T::type where T is the single member of the T... parameter pack which is an instance of default_type.
Definition at line 1511 of file member.hpp.
|
staticconstexpr |
true if a default type is one of the template arguments. In other words, one of the types in the T... arguments is an instance of default_type.
Definition at line 1492 of file member.hpp.
|
staticconstexpr |
true if one of the types has a suitably named and accessible member type.
Definition at line 1485 of file member.hpp.
|
staticconstexpr |
true if a type was found, either as a named member of a searched type, or as the default type.
Definition at line 1498 of file member.hpp.