libCZI
Reading and Writing CZI documents made easy
libCZI::StreamsFactory::Property Struct Reference

This declares a variant type (to be used with the property bag in the streams factory). More...

#include <libCZI_StreamsLib.h>

Public Types

enum class  Type {
  Invalid , Int32 , Float , Double ,
  Boolean , String
}
 Values that represent the type represented by this variant. More...
 

Public Member Functions

 Property ()
 Default constructor - setting the variant to 'invalid'.
 
 Property (std::int32_t v)
 
 Property (double v)
 
 Property (float v)
 
 Property (bool v)
 
 Property (const std::string &v)
 
 Property (const char *string)
 
void SetInt32 (std::int32_t v)
 
void SetDouble (double v)
 
void SetFloat (float v)
 
void SetBool (bool v)
 
void SetString (const std::string &v)
 
std::int32_t GetAsInt32OrThrow () const
 Returns integer value if ValueType is int, otherwise throws a RuntimeError.
 
double GetAsDoubleOrThrow () const
 Returns double value if ValueType is double, otherwise throws a RuntimeError.
 
float GetAsFloatOrThrow () const
 Returns float value if ValueType is 'Float', otherwise throws a RuntimeError.
 
bool GetAsBoolOrThrow () const
 Returns boolean value if ValueType is boolean, otherwise throws a RuntimeError.
 
std::string GetAsStringOrThrow () const
 Returns string value if ValueType is string, otherwise throws a RuntimeError.
 
Type GetType () const
 Returns ValueType.
 

Detailed Description

This declares a variant type (to be used with the property bag in the streams factory).

Member Enumeration Documentation

◆ Type

Values that represent the type represented by this variant.

Enumerator
Invalid 

An enum constant representing the 'invalid' type (would throw an invalid-argument-exception).

Int32 

An enum constant representing the 'signed 32-bit integer' type.

Float 

An enum constant representing the 'float' type.

Double 

An enum constant representing the 'double' type.

Boolean 

An enum constant representing the 'boolean' type.

String 

An enum constant representing the 'string' type.

Constructor & Destructor Documentation

◆ Property() [1/6]

libCZI::StreamsFactory::Property::Property ( std::int32_t  v)
inlineexplicit

Constructor for initializing the 'int32' type.

Parameters
vThe value to set the variant to.

◆ Property() [2/6]

libCZI::StreamsFactory::Property::Property ( double  v)
inlineexplicit

Constructor for initializing the 'double' type.

Parameters
vThe value to set the variant to.

◆ Property() [3/6]

libCZI::StreamsFactory::Property::Property ( float  v)
inlineexplicit

Constructor for initializing the 'float' type.

Parameters
vThe value to set the variant to.

◆ Property() [4/6]

libCZI::StreamsFactory::Property::Property ( bool  v)
inlineexplicit

Constructor for initializing the 'bool' type.

Parameters
vThe value to set the variant to.

◆ Property() [5/6]

libCZI::StreamsFactory::Property::Property ( const std::string &  v)
inlineexplicit

Constructor for initializing the 'string' type.

Parameters
vThe value to set the variant to.

◆ Property() [6/6]

libCZI::StreamsFactory::Property::Property ( const char *  string)
inlineexplicit

Constructor for initializing the 'string' type.

Parameters
stringThe value to set the variant to.

Member Function Documentation

◆ SetBool()

void libCZI::StreamsFactory::Property::SetBool ( bool  v)
inline

Sets the type of the variant to "Boolean" and the value to the specified value.

Parameters
vThe value to be set.

◆ SetDouble()

void libCZI::StreamsFactory::Property::SetDouble ( double  v)
inline

Sets the type of the variant to "Double" and the value to the specified value.

Parameters
vThe value to be set.

◆ SetFloat()

void libCZI::StreamsFactory::Property::SetFloat ( float  v)
inline

Sets the type of the variant to "Float" and the value to the specified value.

Parameters
vThe value to be set.

◆ SetInt32()

void libCZI::StreamsFactory::Property::SetInt32 ( std::int32_t  v)
inline

Sets the type of the variant to "Int32" and the value to the specified value.

Parameters
vThe value to be set.

◆ SetString()

void libCZI::StreamsFactory::Property::SetString ( const std::string &  v)
inline

Sets the type of the variant to "String" and the value to the specified value.

Parameters
vThe value to be set.

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