Definition

class 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