Open Search
    NamedTuple< T > Class Template Reference

    #include <datatype.h>

    Inheritance diagram for NamedTuple< T >:

    Classes

    struct  Helper
     
    struct  HelperStorage
     

    Public Types

    using TupleType = Tuple< typename maxon::details::MemberType< T >::type... >
     
    using TupleTypeWithPtrsForRefs = Tuple< typename maxon::details::SubstituteReferenceByPointer< typename maxon::details::MemberType< T >::type >::type... >
     
    using Pack = ParameterPack< T... >
     
    using ContainerType = ContainerDataType< T... >
     
    template<typename OTHER >
    using ContainsAll = typename Pack::template ContainsAll< typename OTHER::Pack >
     
    - Public Types inherited from ParameterPack< T... >
    using FirstType = void
     
    using RestPack = ParameterPack<>
     
    using ContainsAll = maxon::details::ParameterPackContainsAll< ParameterPack, X... >
     
    using Apply = TEMPLATE< X..., T... >
     

    Static Public Member Functions

    static const Block< const Member > & GetMembers ()
     
    static const TupleDataTypeGetDataType ()
     
    static const ContainerTypeGetContainerType ()
     
    static Int FindIndex (const InternedId &name)
     
    static Int FindOffset (const InternedId &name)
     
    static Tuple< Int, const DataType * > FindOffsetAndType (const InternedId &name)
     

    Static Public Attributes

    static const Bool ALL_NAMED
     
    - Static Public Attributes inherited from ParameterPack< T... >
    static const Int COUNT
     

    Static Private Member Functions

    template<UInt32 I>
    static std::enable_if<(I< sizeof...(T)), Int >::type FindIndexImpl (const Id *name)
     
    template<UInt32 I>
    static Int FindIndexImpl (...)
     
    template<UInt32 I>
    static std::enable_if<(I< sizeof...(T)), Int >::type FindOffsetImpl (const Id *name)
     
    template<UInt32 I>
    static Int FindOffsetImpl (...)
     
    template<UInt32 I>
    static std::enable_if<(I< sizeof...(T)), Tuple< Int, const DataType * > >::type FindOffsetAndTypeImpl (const Id *name)
     
    template<UInt32 I>
    static Tuple< Int, const DataType * > FindOffsetAndTypeImpl (...)
     

    Static Private Attributes

    static HelperStorage _helper
     

    Member Typedef Documentation

    ◆ TupleType

    using TupleType = Tuple<typename maxon::details::MemberType<T>::type...>

    ◆ TupleTypeWithPtrsForRefs

    ◆ Pack

    using Pack = ParameterPack<T...>

    ◆ ContainerType

    ◆ ContainsAll

    using ContainsAll = typename Pack::template ContainsAll<typename OTHER::Pack>

    Member Function Documentation

    ◆ GetMembers()

    static const Block<const Member>& GetMembers ( )
    static

    ◆ GetDataType()

    static const TupleDataType& GetDataType ( )
    static

    ◆ GetContainerType()

    static const ContainerType& GetContainerType ( )
    static

    ◆ FindIndex()

    static Int FindIndex ( const InternedId name)
    static

    ◆ FindOffset()

    static Int FindOffset ( const InternedId name)
    static

    ◆ FindOffsetAndType()

    static Tuple<Int, const DataType*> FindOffsetAndType ( const InternedId name)
    static

    ◆ FindIndexImpl() [1/2]

    static std::enable_if<(I < sizeof...(T)), Int>::type FindIndexImpl ( const Id name)
    staticprivate

    ◆ FindIndexImpl() [2/2]

    static Int FindIndexImpl (   ...)
    staticprivate

    ◆ FindOffsetImpl() [1/2]

    static std::enable_if<(I < sizeof...(T)), Int>::type FindOffsetImpl ( const Id name)
    staticprivate

    ◆ FindOffsetImpl() [2/2]

    static Int FindOffsetImpl (   ...)
    staticprivate

    ◆ FindOffsetAndTypeImpl() [1/2]

    static std::enable_if<(I < sizeof...(T)), Tuple<Int, const DataType*> >::type FindOffsetAndTypeImpl ( const Id name)
    staticprivate

    ◆ FindOffsetAndTypeImpl() [2/2]

    static Tuple<Int, const DataType*> FindOffsetAndTypeImpl (   ...)
    staticprivate

    Member Data Documentation

    ◆ ALL_NAMED

    const Bool ALL_NAMED
    static