GATE
gate::Property Class Reference

Public Types

enum  TypeEnum {
  Type_Empty = GATE_PROPERTY_TYPE_EMPTY , Type_Bool = GATE_PROPERTY_TYPE_BOOL , Type_Int = GATE_PROPERTY_TYPE_INT , Type_Real = GATE_PROPERTY_TYPE_REAL ,
  Type_String = GATE_PROPERTY_TYPE_STRING , Type_Array = GATE_PROPERTY_TYPE_ARRAY , Type_Object = GATE_PROPERTY_TYPE_OBJECT
}
 
typedef FlatMap< String, Propertyobject_members_t
 

Public Member Functions

 Property (bool_t const &bool_value)
 
 Property (int64_t int_value)
 
 Property (real32_t const &flt_value)
 
 Property (real64_t const &dbl_value)
 
 Property (gate_string_t const *ptr_string)
 
 Property (char const *c_string)
 
 Property (String const &string_value)
 
 Property (Array< Property > const &array_value)
 
 Property (object_members_t const &object_value)
 
 Property (gate_struct_t const *ptr_struct)
 
 Property (gate_property_t const &src_base)
 
 Property (Property const &src)
 
Propertyoperator= (Property const &src)
 
gate_property_tc_impl ()
 
gate_property_t const * c_impl () const
 
void swap (Property &that) noexcept
 
TypeEnum getType () const
 
bool_t getBool () const
 
int64_t getInt () const
 
real64_t getReal () const
 
String getString () const
 
Array< PropertygetArray () const
 
object_members_t getObjectMembers () const
 
size_t getArrayLength () const
 
Property getArrayItem (size_t index) const
 
void addArrayItem (Property const &item)
 
bool_t removeArrayItem (size_t index)
 
Array< StringgetObjectMemberNames () const
 
Property getObjectMember (String const &name)
 
void addObjectMember (String const &name, Property const &value)
 
bool_t removeObjectMember (String const &name)
 
void exportToStruct (gate_struct_t *ptr_struct)
 
template<class T >
void exportToStruct (StructRef< T > &structRef)
 

Static Public Member Functions

static Property createFrom (gate_property_t &movableProp)
 
static void createCopy (gate_property_t &target, Property const &source)
 
static void assignCopy (gate_property_t &target, Property const &source)
 

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