HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
PDG_AttributeRefT< Attribute, Holder > Class Template Reference

#include <PDG_AttributeRef.h>

+ Inheritance diagram for PDG_AttributeRefT< Attribute, Holder >:

Public Types

using Self = PDG_AttributeRefT< Attribute, Holder >
 
- Public Types inherited from PDG_AttributeRef
enum  Error {
  eErrorNone, eErrorUnspecified, eErrorNotFound, eErrorReadOnly,
  eErrorInternal, eErrorAttributesReadOnly, eErrorTypeConflict, eErrorTypeUpgrade,
  eErrorOverwrite, eErrorUninitialized, eErrorInvalidFlag
}
 

Public Member Functions

 PDG_AttributeRefT (Holder *holder, const UT_StringHolder &name, const PDG_AttributeOwner *owner, PDG_AttributeRef::Error error=eErrorNone)
 
Holder * holder () const
 Returns the underlying attribute holder. More...
 
const Attributeattribute () const
 Returns a const pointer to the underlying attribute instance. More...
 
template<typename T >
const TattributeT () const
 
const Attributeoperator-> () const
 Returns a const pointer to the underlying attribute instance. More...
 
bool hasData () const
 Returns true if the contained attribute has any data. More...
 
bool isOwner () const
 Returns true if the contained attribute holder owns its data. More...
 
PDG_AttributeType type () const
 Returns the type of the contained attribute. More...
 
uint16 flags () const
 Returns the flags on the contained holder. More...
 
bool hasAnyFlags () const
 Returns true if the contained holder has any flags set. More...
 
bool hasFlag (PDG_AttributeFlag flag) const
 Returns true if the contained holder has the specified flag set. More...
 
bool hasFlags (uint16 flags) const
 Returns true if the contained holder has all of the specified flags set. More...
 
bool hasAnyFlags (uint16 flags) const
 Returns true if the contained holder has any of the specified flags set. More...
 
bool isNumeric () const
 Returns true if the attribute is numeric. More...
 
bool isArray () const
 Returns true if the attribute is an array. More...
 
PDG_AttributeCast asNumber (fpreal &number, const UT_StringHolder &query, int index, bool has_component) const
 
PDG_AttributeCast asNumber (fpreal &number, int index) const
 
PDG_AttributeCast asFile (PDG_File &file, int index, const UT_StringHolder &tag=UT_StringHolder::theEmptyString, PDG_File::Hash hash=0, bool own=false) const
 
PDG_AttributeCast asString (UT_WorkBuffer &buffer, const UT_StringHolder &query, int index, int pad, bool has_component) const
 
PDG_AttributeCast asString (UT_WorkBuffer &buffer, int index, int pad=0) const
 
PDG_AttributeCast asStringValues (UT_WorkBuffer &buffer, int pad=0) const
 Prints the values contained in the attribute to space-separated string. More...
 
int size () const
 Returns the size of the data stored in the attribute. More...
 
- Public Member Functions inherited from PDG_AttributeRef
 PDG_AttributeRef (const UT_StringHolder &name, const PDG_AttributeOwner *owner, Error error=eErrorNone)
 
 operator bool () const
 Returns true if the handle is valid. More...
 
bool isValid () const
 Returns true if the handle is valid. More...
 
Error error () const
 Returns the error state of the handle. More...
 
const UT_StringHoldername () const
 Returns the name of the attribute referenced by this attrib ref. More...
 
const PDG_AttributeOwnerowner () const
 Returns the PDG_AttributeOwner that owns the underlying attribute. More...
 
bool validate (UT_WorkBuffer &buffer) const
 
bool validate (const PDG_Node *node, bool report_errors=true, bool as_warning=false) const
 

Protected Attributes

Holder * myHolder
 
- Protected Attributes inherited from PDG_AttributeRef
UT_StringHolder myName
 
const PDG_AttributeOwnermyOwner
 
Error myError
 

Additional Inherited Members

- Static Public Member Functions inherited from PDG_AttributeRef
static bool attributeError (UT_WorkBuffer &buffer, Error error, const UT_StringHolder &attrib_name, const PDG_AttributeOwner *owner=nullptr)
 
static void attributeModified (const PDG_AttributeOwner *owner, PDG_AttributeType attrib_type, const UT_StringHolder &attrib_name)
 Emits events when the attribute is modified. More...
 

Detailed Description

template<typename Attribute, typename Holder>
class PDG_AttributeRefT< Attribute, Holder >

Base class for templated attribute references

Definition at line 157 of file PDG_AttributeRef.h.

Member Typedef Documentation

template<typename Attribute, typename Holder>
using PDG_AttributeRefT< Attribute, Holder >::Self = PDG_AttributeRefT<Attribute, Holder>

Definition at line 160 of file PDG_AttributeRef.h.

Constructor & Destructor Documentation

template<typename Attribute, typename Holder>
PDG_AttributeRefT< Attribute, Holder >::PDG_AttributeRefT ( Holder *  holder,
const UT_StringHolder name,
const PDG_AttributeOwner owner,
PDG_AttributeRef::Error  error = eErrorNone 
)
inlineexplicit

Definition at line 163 of file PDG_AttributeRef.h.

Member Function Documentation

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asFile ( PDG_File file,
int  index,
const UT_StringHolder tag = UT_StringHolder::theEmptyString,
PDG_File::Hash  hash = 0,
bool  own = false 
) const
inline

Casts the value contained in the attribute to a PDG_File object. Only valid for string, file and PyObject attribute types

Definition at line 308 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asNumber ( fpreal number,
const UT_StringHolder query,
int  index,
bool  has_component 
) const
inline

Casts the value contained in the attribute at the particular index to a numeric value, by looking up the value with the query string. Falls a regular cast if query strings aren't supported

Definition at line 261 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asNumber ( fpreal number,
int  index 
) const
inline

Casts the value contained in the attribute at the particular index to a numeric value, if possible.

Definition at line 278 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asString ( UT_WorkBuffer buffer,
const UT_StringHolder query,
int  index,
int  pad,
bool  has_component 
) const
inline

Casts the value contained in the attribute at the particular index to a string value, by looking up the value with the query string. Falls a regular cast if query strings aren't supported

Definition at line 375 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asString ( UT_WorkBuffer buffer,
int  index,
int  pad = 0 
) const
inline

Casts the value contained in the attribute at the particular index to a string value, if possible.

Definition at line 393 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeCast PDG_AttributeRefT< Attribute, Holder >::asStringValues ( UT_WorkBuffer buffer,
int  pad = 0 
) const
inline

Prints the values contained in the attribute to space-separated string.

Definition at line 472 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
const Attribute* PDG_AttributeRefT< Attribute, Holder >::attribute ( ) const
inline

Returns a const pointer to the underlying attribute instance.

Definition at line 179 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
template<typename T >
const T* PDG_AttributeRefT< Attribute, Holder >::attributeT ( ) const
inline

Returns a const pointer to the underlying attribute instance, casted to the specified type

Definition at line 186 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
uint16 PDG_AttributeRefT< Attribute, Holder >::flags ( ) const
inline

Returns the flags on the contained holder.

Definition at line 216 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::hasAnyFlags ( ) const
inline

Returns true if the contained holder has any flags set.

Definition at line 222 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::hasAnyFlags ( uint16  flags) const
inline

Returns true if the contained holder has any of the specified flags set.

Definition at line 240 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::hasData ( ) const
inline

Returns true if the contained attribute has any data.

Definition at line 198 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::hasFlag ( PDG_AttributeFlag  flag) const
inline

Returns true if the contained holder has the specified flag set.

Definition at line 228 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::hasFlags ( uint16  flags) const
inline

Returns true if the contained holder has all of the specified flags set.

Definition at line 234 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
Holder* PDG_AttributeRefT< Attribute, Holder >::holder ( ) const
inline

Returns the underlying attribute holder.

Definition at line 173 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::isArray ( ) const
inline

Returns true if the attribute is an array.

Definition at line 253 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::isNumeric ( ) const
inline

Returns true if the attribute is numeric.

Definition at line 246 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
bool PDG_AttributeRefT< Attribute, Holder >::isOwner ( ) const
inline

Returns true if the contained attribute holder owns its data.

Definition at line 204 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
const Attribute* PDG_AttributeRefT< Attribute, Holder >::operator-> ( ) const
inline

Returns a const pointer to the underlying attribute instance.

Definition at line 192 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
int PDG_AttributeRefT< Attribute, Holder >::size ( void  ) const
inline

Returns the size of the data stored in the attribute.

Definition at line 557 of file PDG_AttributeRef.h.

template<typename Attribute, typename Holder>
PDG_AttributeType PDG_AttributeRefT< Attribute, Holder >::type ( ) const
inline

Returns the type of the contained attribute.

Definition at line 210 of file PDG_AttributeRef.h.

Member Data Documentation

template<typename Attribute, typename Holder>
Holder* PDG_AttributeRefT< Attribute, Holder >::myHolder
protected

Definition at line 603 of file PDG_AttributeRef.h.


The documentation for this class was generated from the following file: