HDK
|
#include <PDG_AttributeRef.h>
Public Types | |
using | Base = PDG_AttributeRefT< Attribute, PDG_AttributeHolder > |
using | Self = PDG_RWAttributeRef< Attribute > |
Public Types inherited from PDG_AttributeRefT< Attribute, PDG_AttributeHolder > | |
using | Self = PDG_AttributeRefT< Attribute, PDG_AttributeHolder > |
Public Member Functions | |
PDG_RWAttributeRef (const UT_StringHolder &name, const PDG_AttributeOwner *owner) | |
Constructs an uninitialized RW ref. More... | |
PDG_RWAttributeRef (PDG_AttributeHolder *holder, const UT_StringHolder &name, const PDG_AttributeOwner *owner, PDG_AttributeError error=PDG_AttributeError::eNone) | |
PDG_RWAttributeRef (const Self &other) | |
PDG_RWAttributeRef (Self &&other) | |
~PDG_RWAttributeRef () | |
Emits data changed events if this attribute ref recorded a modification. More... | |
Self & | operator= (const Self &other) |
Self & | operator= (Self &&other) |
void | emitEvents () |
Emits pending events from the ref. More... | |
void | clearEvents () |
Clears any pending events. More... | |
Attribute * | attribute () |
Attribute * | operator-> () |
Returns a non-const pointer to the underlying attribute instance. More... | |
PDG_AttributeError | setFlag (PDG_AttributeFlag flag, bool set, bool &changed) |
PDG_AttributeError | setFlag (PDG_AttributeFlag flag, bool set) |
Sets the specific flag on or off. More... | |
PDG_AttributeError | setFlags (uint16 flags, bool &changed) |
Directly sets the flag bits to the specified flags. More... | |
PDG_AttributeError | setFlags (uint16 flags) |
Sets all flags. More... | |
void | truncate (int length) |
Truncates the array stored in the attribute. More... | |
Public Member Functions inherited from PDG_AttributeRefT< Attribute, PDG_AttributeHolder > | |
PDG_AttributeRefT (PDG_AttributeHolder *holder, const UT_StringHolder &name, const PDG_AttributeOwner *owner, PDG_AttributeError error=PDG_AttributeError::eNone) | |
PDG_AttributeHolder * | holder () const |
Returns the underlying attribute holder. More... | |
const Attribute * | attribute () const |
Returns a const pointer to the underlying attribute instance. More... | |
const T * | attributeT () const |
const Attribute * | operator-> () 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 | hasAnyFlags (uint16 flags) const |
Returns true if the contained holder has any of the specified 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 | 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, exint &query_index, const PDG_AttributeQuery &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, exint &query_index, const PDG_AttributeQuery &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... | |
PDG_AttributeCast | asOptions (UT_Options &options, PDG_AttributeOverwrite overwrite) const |
PDG_AttributeCast | asOptions (UT_Options &options, const UT_StringHolder &key, PDG_AttributeOverwrite overwrite) const |
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, PDG_AttributeError error=PDG_AttributeError::eNone) | |
operator bool () const | |
Returns true if the handle is valid. More... | |
bool | isValid () const |
Returns true if the handle is valid. More... | |
PDG_AttributeError | error () const |
Returns the error state of the handle. More... | |
const UT_StringHolder & | name () const |
Returns the name of the attribute referenced by this attrib ref. More... | |
const PDG_AttributeOwner * | owner () 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 |
Additional Inherited Members | |
Static Public Member Functions inherited from PDG_AttributeRef | |
static bool | attributeError (UT_WorkBuffer &buffer, PDG_AttributeError 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... | |
Protected Attributes inherited from PDG_AttributeRefT< Attribute, PDG_AttributeHolder > | |
PDG_AttributeHolder * | myHolder |
Protected Attributes inherited from PDG_AttributeRef | |
UT_StringHolder | myName |
const PDG_AttributeOwner * | myOwner |
PDG_AttributeError | myError |
Read/write attribute ref that permits modifications of holder flags as well as non-const access to the underlying data. Accessing the attribute using either the named accessor or the -> overload will result in a deep copy + ownership being taken, if the data is not already owned by the holder.
Definition at line 764 of file PDG_AttributeRef.h.
using PDG_RWAttributeRef< Attribute >::Base = PDG_AttributeRefT<Attribute, PDG_AttributeHolder> |
Definition at line 768 of file PDG_AttributeRef.h.
using PDG_RWAttributeRef< Attribute >::Self = PDG_RWAttributeRef<Attribute> |
Definition at line 769 of file PDG_AttributeRef.h.
|
inline |
Constructs an uninitialized RW ref.
Definition at line 772 of file PDG_AttributeRef.h.
|
inline |
Constructs a ref that can modify attribute data. We store the work item so we can emit events.
Definition at line 781 of file PDG_AttributeRef.h.
|
inline |
Explicitly defined copy constructor, since we don't want to copy the myModified flag from the source reference. Doing so would mean that we'd potentially by emitting an extra data change event on destruction.
Definition at line 794 of file PDG_AttributeRef.h.
|
inline |
Explicitly defined move constructor, since a copy constructor has been defined. When moving a ref we do want to preserve the myModified flag, unlike in the copy constructor.
Definition at line 803 of file PDG_AttributeRef.h.
|
inline |
Emits data changed events if this attribute ref recorded a modification.
Definition at line 811 of file PDG_AttributeRef.h.
|
inline |
Returns a non-const pointer to the underlying attribute instance. This induces a copy if the attribute is not already owned, and counts as a modification for the purpose of event handling.
Definition at line 866 of file PDG_AttributeRef.h.
|
inline |
Clears any pending events.
Definition at line 858 of file PDG_AttributeRef.h.
|
inline |
Emits pending events from the ref.
Definition at line 849 of file PDG_AttributeRef.h.
|
inline |
Returns a non-const pointer to the underlying attribute instance.
Definition at line 876 of file PDG_AttributeRef.h.
|
inline |
Explicitly defined copy assignment operator, since the copy constructor is defined.
Definition at line 818 of file PDG_AttributeRef.h.
|
inline |
Explicitly defined move assignment operator, since the move constructor is defined.
Definition at line 833 of file PDG_AttributeRef.h.
|
inline |
Sets the specific flag on or off, based on the set arugment, an returns whether or not the flag was changed.
Definition at line 884 of file PDG_AttributeRef.h.
|
inline |
Sets the specific flag on or off.
Definition at line 900 of file PDG_AttributeRef.h.
|
inline |
Directly sets the flag bits to the specified flags.
Definition at line 908 of file PDG_AttributeRef.h.
|
inline |
Sets all flags.
Definition at line 922 of file PDG_AttributeRef.h.
|
inline |
Truncates the array stored in the attribute.
Definition at line 929 of file PDG_AttributeRef.h.