Gamedev Framework (gf)  0.8.0
A C++14 framework for 2D games
Public Member Functions | Public Attributes | List of all members
gf::DataObject Struct Reference

A data object. More...

#include <gf/DataObject.h>

Public Member Functions

 DataObject ()
 Default constructor. More...
 
 DataObject (std::nullptr_t)
 Constructor for a null object. More...
 
 DataObject (bool data)
 Constructor for a boolean object. More...
 
 DataObject (uint8_t data)
 Constructor for an unsigned object. More...
 
 DataObject (int8_t data)
 Constructor for a signed object. More...
 
 DataObject (uint16_t data)
 Constructor for an unsigned object. More...
 
 DataObject (int16_t data)
 Constructor for a signed object. More...
 
 DataObject (uint32_t data)
 Constructor for an unsigned object. More...
 
 DataObject (int32_t data)
 Constructor for a signed object. More...
 
 DataObject (uint64_t data)
 Constructor for an unsigned object. More...
 
 DataObject (int64_t data)
 Constructor for a signed object. More...
 
 DataObject (float data)
 Constructor for a single precision float object. More...
 
 DataObject (double data)
 Constructor for a double precision float object. More...
 
 DataObject (const DataObject &)=delete
 Deleted copy constructor. More...
 
DataObjectoperator= (const DataObject &)=delete
 Deleted copy assignment. More...
 
 DataObject (DataObject &&other)
 Move constructor. More...
 
DataObjectoperator= (DataObject &&other)
 Move assignment. More...
 
 ~DataObject ()
 Destructor. More...
 
void clear ()
 Set a data object to a null object. More...
 

Public Attributes

DataType type
 The type of the object. More...
 
union {
   bool   boolean
 A boolean object. More...
 
   uint64_t   u64
 An unsigned integer object. More...
 
   int64_t   i64
 A signed integer object. More...
 
   float   f32
 A single precision float object. More...
 
   double   f64
 A double precision float object. More...
 
   DataString   string
 A string object. More...
 
   DataBinary   binary
 A binary object. More...
 
   DataArray   array
 An array object. More...
 
   DataMap   map
 A map object. More...
 
   DataExtension   extension
 An extension object. More...
 
}; 
 

Detailed Description

A data object.

A data object is a generic representation of any data. Its main purpose is to represent serialized data (e.g. a JSON document).

See also
gf::DataType, gf::Data

Constructor & Destructor Documentation

◆ DataObject() [1/15]

gf::DataObject::DataObject ( )
inline

Default constructor.

By default, the data object is a null object

◆ DataObject() [2/15]

gf::DataObject::DataObject ( std::nullptr_t  )
inlineexplicit

Constructor for a null object.

◆ DataObject() [3/15]

gf::DataObject::DataObject ( bool  data)
inlineexplicit

Constructor for a boolean object.

◆ DataObject() [4/15]

gf::DataObject::DataObject ( uint8_t  data)
inlineexplicit

Constructor for an unsigned object.

◆ DataObject() [5/15]

gf::DataObject::DataObject ( int8_t  data)
inlineexplicit

Constructor for a signed object.

◆ DataObject() [6/15]

gf::DataObject::DataObject ( uint16_t  data)
inlineexplicit

Constructor for an unsigned object.

◆ DataObject() [7/15]

gf::DataObject::DataObject ( int16_t  data)
inlineexplicit

Constructor for a signed object.

◆ DataObject() [8/15]

gf::DataObject::DataObject ( uint32_t  data)
inlineexplicit

Constructor for an unsigned object.

◆ DataObject() [9/15]

gf::DataObject::DataObject ( int32_t  data)
inlineexplicit

Constructor for a signed object.

◆ DataObject() [10/15]

gf::DataObject::DataObject ( uint64_t  data)
inlineexplicit

Constructor for an unsigned object.

◆ DataObject() [11/15]

gf::DataObject::DataObject ( int64_t  data)
inlineexplicit

Constructor for a signed object.

◆ DataObject() [12/15]

gf::DataObject::DataObject ( float  data)
inlineexplicit

Constructor for a single precision float object.

◆ DataObject() [13/15]

gf::DataObject::DataObject ( double  data)
inlineexplicit

Constructor for a double precision float object.

◆ DataObject() [14/15]

gf::DataObject::DataObject ( const DataObject )
delete

Deleted copy constructor.

◆ DataObject() [15/15]

gf::DataObject::DataObject ( DataObject &&  other)

Move constructor.

◆ ~DataObject()

gf::DataObject::~DataObject ( )

Destructor.

Member Function Documentation

◆ clear()

void gf::DataObject::clear ( )

Set a data object to a null object.

If memory was allocated, it is freed.

◆ operator=() [1/2]

DataObject& gf::DataObject::operator= ( const DataObject )
delete

Deleted copy assignment.

◆ operator=() [2/2]

DataObject& gf::DataObject::operator= ( DataObject &&  other)

Move assignment.

Member Data Documentation

◆ @3

union { ... }

◆ array

DataArray gf::DataObject::array

An array object.

◆ binary

DataBinary gf::DataObject::binary

A binary object.

◆ boolean

bool gf::DataObject::boolean

A boolean object.

◆ extension

DataExtension gf::DataObject::extension

An extension object.

◆ f32

float gf::DataObject::f32

A single precision float object.

◆ f64

double gf::DataObject::f64

A double precision float object.

◆ i64

int64_t gf::DataObject::i64

A signed integer object.

◆ map

DataMap gf::DataObject::map

A map object.

◆ string

DataString gf::DataObject::string

A string object.

◆ type

DataType gf::DataObject::type

The type of the object.

◆ u64

uint64_t gf::DataObject::u64

An unsigned integer object.