Metadata

class HPS::Metadata : public HPS::Sprocket

The Metadata class is a smart pointer. It represents a variety of metadata, i.e., a (name, value) pair, which might be associated with a Component, e.g., IDs, names, layers, user-defined or format-specific attributes, etc.

Subclassed by HPS::BooleanMetadata, HPS::DoubleMetadata, HPS::IntegerMetadata, HPS::StringMetadata, HPS::TimeMetadata, HPS::UnsignedIntegerMetadata

Public Functions

virtual void Assign(Metadata const &in_that)

Share the underlying smart-pointer of the Metadata source.

Parameters

in_that – The Metadata source of the assignment.

Returns

A reference to this Metadata.

bool Equals(Metadata const &in_that) const

Check if the source Metadata points to the same underlying impl as this Metadata.

Parameters

in_that – The source Metadata to compare to this Metadata.

Returns

true if the objects reference the same impl, false otherwise.

HPS::UTF8 GetName() const

Gets the name for this Metadata.

Returns

The name for this Metadata.

Metadata()

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

Metadata(char const *in_name)

This constructor creates a Metadata with a given name.

Parameters

in_name – The UTF8-encoded name for this Metadata.

Metadata(Metadata &&in_that)

The move constructor creates a Metadata by transferring the underlying object of the rvalue reference to this Metadata.

Parameters

in_that – An rvalue reference to a Metadata to take the underlying object from.

Metadata(Metadata const &in_that)

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

Parameters

in_that – The source Metadata to copy.

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!=(Metadata const &in_that) const

Check if the source Metadata points to a different impl than this Metadata.

Parameters

in_that – The source Metadata to compare to this Metadata.

Returns

true if the objects reference different impls, false otherwise.

Metadata &operator=(Metadata &&in_that)

The move assignment operator transfers the underlying object of the rvalue reference to this Metadata.

Parameters

in_that – An rvalue reference to a Metadata to take the underlying object from.

Returns

A reference to this Metadata.

Metadata &operator=(Metadata const &in_that)

Share the underlying smart-pointer of the Metadata source.

Parameters

in_that – The Metadata source of the assignment.

Returns

A reference to this Metadata.

bool operator==(Metadata const &in_that) const

Check if the source Metadata points to the same underlying impl as this Metadata.

Parameters

in_that – The source Metadata to compare to this Metadata.

Returns

true if the objects reference the same impl, false otherwise.

void SetName(char const *in_name)

Sets the name for this Metadata.

Parameters

in_name – A UTF8-encoded name for this Metadata.

virtual ~Metadata()

Public Static Attributes

static const HPS::Type staticType = HPS::Type::Metadata