Public Member Functions | List of all members
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)
 
HPS::Type ObjectType () const
 
DoubleMetadataoperator= (DoubleMetadata const &in_that)=default
 
DoubleMetadataoperator= (DoubleMetadata &&in_that)
 
double GetValue () const
 
void SetValue (double in_value)
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (HPS::Sprocket const &in_that)=default
 
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
 Object (Object const &that)
 
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (Object &&in_that)
 
HPS::Type Type () const
 
virtual bool Empty () const
 
virtual void Reset ()
 
bool HasType (HPS::Type in_mask) const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 

Additional Inherited Members

- Public Types inherited from HPS::Sprocket
enum  UpdateType { Synchronous, Asynchronous }
 
- 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

HPS::DoubleMetadata::DoubleMetadata ( )

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

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.
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.
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.
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

double HPS::DoubleMetadata::GetValue ( ) const

Gets the double value for this DoubleMetadata.

Returns
The double value for this DoubleMetadata.
HPS::Type HPS::DoubleMetadata::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

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

Reimplemented from HPS::Metadata.

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.
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: