Open Search
    AttributeTuple< OPT, ARGS > Class Template Reference

    #include <attributetuple.h>

    Inheritance diagram for AttributeTuple< OPT, ARGS >:

    Public Types

    using Super = AttributeTupleBase< OPT, sizeof...(ARGS)>
     
    using TYPE = NamedTuple< typename std::remove_const< ARGS >::type... >
     

    Public Member Functions

     AttributeTuple ()=default
     
    template<typename... INITTUPLE>
    MAXON_ATTRIBUTE_FORCE_INLINE AttributeTuple (INITTUPLE &&... args)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE ARG::FidType & operator[] (const ARG &)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE const ARG::FidType & operator[] (const ARG &) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE ConstDataPtr operator[] (const InternedId &id) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE ConstDataPtr operator[] (const ConstDataPtr &key) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE DataPtr operator[] (const ConstDataPtr &key)
     
    MAXON_ATTRIBUTE_FORCE_INLINE ConstDataPtr operator[] (ForwardingDataPtr &&key) const
     
    MAXON_ATTRIBUTE_FORCE_INLINE DataPtr operator[] (ForwardingDataPtr &&key)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< const typename ARG::FidType & > Get (const ARG &) const
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE const ARG::FidType & Get (const ARG &, const typename ARG::FidType &defaultValue) const
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE Result< void > Set (const ARG &, const typename ARG::FidType &value)
     
    template<typename ARG >
    MAXON_ATTRIBUTE_FORCE_INLINE void Set (const ARG &, typename ARG::FidType &&value)
     

    Private Member Functions

    template<typename ID , typename VALUE , typename... MOREARGS>
    void InitImpl (const ID &id, VALUE &&value, MOREARGS &&... moreArgs)
     
    constexpr void InitImpl ()
     

    Private Attributes

    TYPE::TupleType _tuple
     

    Additional Inherited Members

    - Protected Member Functions inherited from AttributeTupleBase< OPT, sizeof...(ARGS)>
    constexpr MAXON_ATTRIBUTE_FORCE_INLINE void SetUsed (Int idx, Bool used)
     
    constexpr MAXON_ATTRIBUTE_FORCE_INLINE Bool IsUsed (Int idx) const
     
    - Protected Attributes inherited from AttributeTupleBase< OPT, sizeof...(ARGS)>
    Bool _used [CNT]
     

    Member Typedef Documentation

    ◆ Super

    using Super = AttributeTupleBase<OPT, sizeof...(ARGS)>

    ◆ TYPE

    using TYPE = NamedTuple<typename std::remove_const<ARGS>::type...>

    Constructor & Destructor Documentation

    ◆ AttributeTuple() [1/2]

    AttributeTuple ( )
    default

    ◆ AttributeTuple() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE AttributeTuple ( INITTUPLE &&...  args)
    explicit

    Member Function Documentation

    ◆ operator[]() [1/7]

    MAXON_ATTRIBUTE_FORCE_INLINE ARG::FidType& operator[] ( const ARG &  )

    ◆ operator[]() [2/7]

    MAXON_ATTRIBUTE_FORCE_INLINE const ARG::FidType& operator[] ( const ARG &  ) const

    ◆ operator[]() [3/7]

    MAXON_ATTRIBUTE_FORCE_INLINE ConstDataPtr operator[] ( const InternedId id) const

    ◆ operator[]() [4/7]

    MAXON_ATTRIBUTE_FORCE_INLINE ConstDataPtr operator[] ( const ConstDataPtr key) const

    ◆ operator[]() [5/7]

    MAXON_ATTRIBUTE_FORCE_INLINE DataPtr operator[] ( const ConstDataPtr key)

    ◆ operator[]() [6/7]

    ◆ operator[]() [7/7]

    ◆ Get() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE Result<const typename ARG::FidType&> Get ( const ARG &  ) const

    ◆ Get() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE const ARG::FidType& Get ( const ARG &  ,
    const typename ARG::FidType &  defaultValue 
    ) const

    ◆ Set() [1/2]

    MAXON_ATTRIBUTE_FORCE_INLINE Result<void> Set ( const ARG &  ,
    const typename ARG::FidType &  value 
    )

    ◆ Set() [2/2]

    MAXON_ATTRIBUTE_FORCE_INLINE void Set ( const ARG &  ,
    typename ARG::FidType &&  value 
    )

    ◆ InitImpl() [1/2]

    void InitImpl ( const ID &  id,
    VALUE &&  value,
    MOREARGS &&...  moreArgs 
    )
    private

    ◆ InitImpl() [2/2]

    constexpr void InitImpl ( )
    constexprprivate

    Member Data Documentation

    ◆ _tuple

    TYPE::TupleType _tuple
    private