Open Search
    DescID Class Reference

    #include <lib_description.h>

    Inheritance diagram for DescID:

    Detailed Description

    An ID class for description elements. Contains a stack of DescLevel objects.
    A description ID is used to exactly identify a parameter value.

    • For first-level values (like a REAL (description element) or LONG (description element) value) it only consists of one DescLevel.
    • For more complex datatypes like VECTOR (description element) and GRADIENT (description element) it can consist of 2 or more levels.

    Private Attributes

    union {
       maxon::StrongCOWRef< Int >   _refData
     
       maxon::Block< const DescLevel >   _constData
     
    }; 
     

    Constructor/Destructor

     DescID ()
     
     DescID (const DescID &src)
     
     DescID (DescID &&src)
     
    template<int elementCount>
    constexpr DescID (maxon::IN_PLACE_TYPE v, const DescLevel(&ids)[elementCount])
     
     DescID (maxon::IN_PLACE_TYPE v, const maxon::Block< const DescLevel > &ids)
     
     ~DescID ()
     
    template<typename... T>
    static DescID Create (const T &... ids)
     

    Set/Push/Pop Level

    void SetId (const DescLevel &subid)
     
    void PushId (const DescLevel &subid)
     
    void PushId (const std::initializer_list< DescLevel > &subids)
     
    void PopId ()
     

    Operator

    const DescLeveloperator[] (Int32 pos) const
     
    const DescIDoperator= (const DescID &id)
     
    const DescIDoperator= (DescID &&id)
     
    Bool operator== (const DescID &d) const
     
    Bool operator!= (const DescID &d) const
     
    const DescID operator<< (Int32 shift) const
     
    const DescIDoperator+= (const DescID &s)
     
    const DescID operator+ (const DescID &v1, const DescID &v2)
     

    Read/Write

    Bool Read (HyperFile *hf)
     
    Bool Write (HyperFile *hf) const
     

    Miscellaneous

    Int32 GetDepth () const
     
    Bool IsPopulated () const
     
    Bool IsEmpty () const
     
    Bool IsPartOf (const DescID &cmp, Int32 *pos) const
     
    maxon::HashInt GetHashCode () const
     

    Additional Inherited Members

    - Static Public Attributes inherited from CustomDataTypeT< TDATATYPEID >
    static constexpr Int32 DATATYPEID