Definition

class HPS::Definition : public HPS::Object

The Definition class is a smart pointer to a database object. It is the base class for all definition objects.

Subclassed by HPS::CubeMapDefinition, HPS::GlyphDefinition, HPS::ImageDefinition, HPS::LegacyShaderDefinition, HPS::LinePatternDefinition, HPS::MaterialPaletteDefinition, HPS::NamedStyleDefinition, HPS::ShapeDefinition, HPS::TextureDefinition

Public Functions

virtual void Assign(Definition const &in_that)

Associate this Definition with the same underlying impl as the source Definition.

Parameters

in_that – The source Definition for the assignment.

Definition()

The default constructor creates an uninitialized Definition object. The Type() function will return Type::None.

Definition(Definition &&in_that)

The move constructor creates a Definition by transferring the underlying impl of the rvalue reference to this Definition thereby avoiding a copy and allocation.

Parameters

in_that – An rvalue reference to a Definition to take the impl from.

Definition(Definition const &in_that)

The copy constructor creates a Definition object that shares the underlying smart-pointer of the source Definition.

Parameters

in_that – The source Definition to copy.

bool Equals(Definition const &in_that) const

Check if the source Definition is equivalent to this Definition.

Parameters

in_that – The source Definition to compare to this Definition.

Returns

true if the objects are equivalent, false otherwise.

UTF8 Name() const

Get the name given to this Definition when it was defined.

Returns

UTF8-encoded name of this Definition.

inline virtual HPS::Type ObjectType() const

This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).

Returns

The declared type of the object in question, which may differ from the true, underlying type.

bool operator!=(Definition const &in_that) const

Check if the source Definition is not equivalent to this Definition.

Parameters

in_that – The source Definition to compare to this Definition.

Returns

true if the objects are not equivalent, false otherwise.

Definition &operator=(Definition &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this Definition thereby avoiding a copy.

Parameters

in_that – An rvalue reference to a Definition to take the impl from.

Returns

A reference to this Definition.

Definition &operator=(Definition const &in_that)

Associate this Definition with the same underlying impl as the source Definition.

Parameters

in_that – The source Definition for the assignment.

Returns

A reference to this Definition.

bool operator==(Definition const &in_that) const

Check if the source Definition is equivalent to this Definition.

Parameters

in_that – The source Definition to compare to this Definition.

Returns

true if the objects are equivalent, false otherwise.

PortfolioKey Owner() const

Get the portfolio that owns this Definition.

Returns

The portfolio that owns this Definition.

void Undefine()

Removes this definition from the owning portfolio.

virtual ~Definition()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::Definition