HPS::DoubleMetadata Class Reference

#include <sprk.h>

Inheritance diagram for HPS::DoubleMetadata:
HPS::Metadata HPS::Sprocket HPS::Object

Public Member Functions

 DoubleMetadata ()
 
 DoubleMetadata (Metadata const &in_that)
 
 DoubleMetadata (DoubleMetadata const &in_that)
 
 DoubleMetadata (DoubleMetadata &&in_that)
 
 DoubleMetadata (char const *in_name, double in_value)
 
double GetValue () const
 
HPS::Type ObjectType () const
 
DoubleMetadataoperator= (DoubleMetadata &&in_that)
 
void SetValue (double in_value)
 
- Public Member Functions inherited from HPS::Sprocket
Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
virtual bool Empty () const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 
bool HasType (HPS::Type in_mask) const
 
Object (Object const &that)
 
 Object (Object &&in_that)
 
Objectoperator= (Object const &other_object)
 
Objectoperator= (Object &&in_that)
 
virtual void Reset ()
 
virtual HPS::Type Type () const
 

Static Public Attributes

static const HPS::Type staticType = HPS::Type::DoubleMetadata
 
- Static Public Attributes inherited from HPS::Object
static const HPS::Type staticType = HPS::Type::None
 

Additional Inherited Members

- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

The DoubleMetadata class is a smart pointer. It represents a piece of double Metadata.

Constructor & Destructor Documentation

◆ DoubleMetadata() [1/5]

HPS::DoubleMetadata::DoubleMetadata ( )

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

◆ DoubleMetadata() [2/5]

HPS::DoubleMetadata::DoubleMetadata ( Metadata const &  in_that)

This constructor creates a DoubleMetadata object that shares the underlying smart-pointer of the source Metadata. The copy will only be successful if the source component is really an upcast of a DoubleMetadata object. Otherwise the copy will fail and the resulting DoubleMetadata will be invalid.

Parameters
in_thatThe source Metadata to copy.

◆ DoubleMetadata() [3/5]

HPS::DoubleMetadata::DoubleMetadata ( DoubleMetadata const &  in_that)

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

Parameters
in_thatThe source DoubleMetadata to copy.

◆ DoubleMetadata() [4/5]

HPS::DoubleMetadata::DoubleMetadata ( DoubleMetadata &&  in_that)

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

Parameters
in_thatAn rvalue reference to a DoubleMetadata to take the underlying object from.

◆ DoubleMetadata() [5/5]

HPS::DoubleMetadata::DoubleMetadata ( char const *  in_name,
double  in_value 
)

This constructor creates a DoubleMetadata with a given name and value.

Parameters
in_nameThe UTF8-encoded name for this DoubleMetadata.
in_valueThe double value for this DoubleMetadata.

Member Function Documentation

◆ GetValue()

double HPS::DoubleMetadata::GetValue ( ) const

Gets the double value for this DoubleMetadata.

Returns
The double value for this DoubleMetadata.

◆ ObjectType()

HPS::Type HPS::DoubleMetadata::ObjectType ( ) const
inlinevirtual

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.

Reimplemented from HPS::Metadata.

◆ operator=()

DoubleMetadata& HPS::DoubleMetadata::operator= ( DoubleMetadata &&  in_that)

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

Parameters
in_thatAn rvalue reference to a DoubleMetadata to take the underlying object from.
Returns
A reference to this DoubleMetadata.

◆ SetValue()

void HPS::DoubleMetadata::SetValue ( double  in_value)

Sets the double value for this DoubleMetadata.

Parameters
in_valueThe double value for this DoubleMetadata.

The documentation for this class was generated from the following file: