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