FastEngine 0.9.3
A multiplayer oriented 2D engine made with Vulkan.
Loading...
Searching...
No Matches
fge::Property Class Reference

A class that can store any type of data. More...

#include <C_property.hpp>

Classes

union  Data
 

Public Types

enum class  Types : uint8_t {
  PTYPE_NULL , PTYPE_INTEGERS , PTYPE_FLOAT , PTYPE_DOUBLE ,
  PTYPE_STRING , PTYPE_POINTER , PTYPE_CLASS
}
 

Public Member Functions

 Property (fge::Property const &val)
 
 Property (fge::Property &&val) noexcept
 
template<class T , typename = std::enable_if_t<!std::is_same_v<remove_cvref_t<T>, fge::Property>>>
 Property (T &&val)
 
 Property (char const *val)
 
void clear ()
 
bool operator== (fge::Property const &val) const
 
fge::Propertyoperator= (fge::Property const &val)
 
fge::Propertyoperator= (fge::Property &&val) noexcept
 
template<class T , typename = std::enable_if_t<!std::is_same_v<remove_cvref_t<T>, fge::Property>>>
fge::Propertyoperator= (T &&val)
 
fge::Propertyoperator= (char const *val)
 
template<class T >
T & setType ()
 
void setType (Types type)
 
template<class T >
bool isType () const
 
bool isType (Types type) const
 
std::type_info const & getClassType () const
 
Types getType () const
 
bool isSigned () const
 
std::string toString () const
 
bool set (fge::Property const &val)
 
bool set (fge::Property &&val)
 
template<class T , typename = std::enable_if_t<!std::is_same_v<remove_cvref_t<T>, fge::Property>>>
bool set (T &&val)
 
bool set (char const *val)
 
template<class T >
bool get (T &val) const
 
template<class T >
std::optional< T > get () const
 
template<class T >
T * getPtr ()
 
template<class T >
T const * getPtr () const
 
fge::ParrayType & setArrayType ()
 
bool resize (std::size_t n)
 
bool reserve (std::size_t n)
 
bool pushData (fge::Property const &value)
 
bool pushData (fge::Property &&value)
 
template<class T >
bool pushType ()
 
bool setData (std::size_t index, fge::Property const &value)
 
bool setData (std::size_t index, fge::Property &&value)
 
fge::PropertygetData (std::size_t index)
 
fge::Property const * getData (std::size_t index) const
 
template<class T >
bool getData (std::size_t index, T &val) const
 
template<class T >
T * getDataPtr (std::size_t index)
 
template<class T >
T const * getDataPtr (std::size_t index) const
 
std::size_t getDataSize () const
 
fge::Propertyoperator[] (std::size_t index)
 
fge::Property const * operator[] (std::size_t index) const
 
bool isModified () const
 
void setModifiedFlag (bool flag)
 
template<class T >
T const * getPtr () const
 
template<class T >
T const * getDataPtr (std::size_t index) const
 

Detailed Description

A class that can store any type of data.

This class can store any type of data. Integer is converted to PintType or PuintType so in order to get the value you need to use the defined types. class oder than the basic type are stored as a pointer to a PropertyClassWrapper.

This class also easly enable to store an array of Property.


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