FastEngine 0.9.4
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: