Metadata

class 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