Tizen Native API  5.5
Dali::Property Struct Reference

A Array of property values. More...

Public Types

enum  Type
 The type of key. More...
enum  Type
 Enumeration for the property types supported. More...
enum  AccessMode
 Enumeration for the access mode for custom properties. More...
typedef int32_t Index
 A valid property index is zero or greater.
typedef Dali::Vector< IndexIndexContainer
 A vector of property indices.

Public Member Functions

 Array ()
 Default constructor.
 Array (const std::initializer_list< Value > &values)
 Constructor from initializer_list.
 Array (const Array &other)
 Copy constructor.
 Array (Array &&other)
 Move constructor.
 ~Array ()
 Non-virtual destructor.
SizeType Size () const
 Retrieves the number of elements in the array.
SizeType Count () const
 Retrieves the number of elements in the array.
bool Empty () const
 Returns whether the array is empty.
void Clear ()
 Clears the array.
void Reserve (SizeType size)
 Increases the capacity of the array.
void Resize (SizeType size)
 Resizes to size.
SizeType Capacity ()
 Retrieves the capacity of the array.
void PushBack (const Value &value)
 Adds an element to the array.
Property::ArrayAdd (const Value &value)
 Add an element to the array.
const ValueGetElementAt (SizeType index) const
 Const access an element.
ValueGetElementAt (SizeType index)
 Accesses an element.
const Valueoperator[] (SizeType index) const
 Const operator to access an element.
Valueoperator[] (SizeType index)
 Operator to access an element.
Arrayoperator= (const Array &other)
 Assignment operator.
Arrayoperator= (Array &&other)
 Move assignment operator.
 Key (const std::string &key)
 Constructor.
 Key (const char *key)
 Constructor.
 Key (Property::Index key)
 Constructor.
bool operator== (const std::string &rhs)
 The equality operator.
bool operator== (const char *key)
 Constructor.
bool operator== (Property::Index rhs)
 The equality operator.
bool operator== (const Key &rhs)
 The equality operator.
bool operator!= (const std::string &rhs)
 The inequality operator.
bool operator!= (const char *rhs)
 The inequality operator.
bool operator!= (Property::Index rhs)
 The inequality operator.
bool operator!= (const Key &rhs)
 The inequality operator.
 Map ()
 Default constructor.
 Map (const std::initializer_list< KeyValuePair > &values)
 Constructor from initializer_list.
 Map (const Map &other)
 Copy constructor.
 Map (Map &&other)
 Move constructor.
 ~Map ()
 Non-virtual destructor.
SizeType Count () const
 Retrieves the number of elements in the map.
bool Empty () const
 Returns whether the map is empty.
void Insert (const char *key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as string.
void Insert (const std::string &key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as string.
void Insert (Property::Index key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as index.
Property::MapAdd (const char *key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as string.
Property::MapAdd (const std::string &key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as string.
Property::MapAdd (Property::Index key, const Value &value)
 Inserts the key-value pair in the Map, with the key type as index.
ValueGetValue (SizeType position) const
 Retrieves the value at the specified position.
const std::string & GetKey (SizeType position) const DALI_DEPRECATED_API
 Retrieves the key at the specified position.
Key GetKeyAt (SizeType position) const
 Retrieve the key at the specified position.
StringValuePair & GetPair (SizeType position) const DALI_DEPRECATED_API
 Retrieves the key & the value at the specified position.
KeyValuePair GetKeyValue (SizeType position) const
 Retrieve the key & the value at the specified position.
ValueFind (const char *key) const
 Finds the value for the specified key if it exists.
ValueFind (const std::string &key) const
 Finds the value for the specified key if it exists.
ValueFind (Property::Index key) const
 Finds the value for the specified key if it exists.
ValueFind (Property::Index indexKey, const std::string &stringKey) const
 Finds the value for the specified keys if either exist.
ValueFind (const std::string &key, Property::Type type) const
 Finds the value for the specified key if it exists and its type is type.
ValueFind (Property::Index key, Property::Type type) const
 Finds the value for the specified key if it exists and its type is type.
void Clear ()
 Clears the map.
void Merge (const Map &from)
 Merges values from the map 'from' to the current.
const Valueoperator[] (const std::string &key) const
 Const operator to access element with the specified string key.
Valueoperator[] (const std::string &key)
 Operator to access the element with the specified string key.
const Valueoperator[] (Property::Index key) const
 Const operator to access element with the specified index key.
Valueoperator[] (Property::Index key)
 Operator to access the element with the specified index key.
Mapoperator= (const Map &other)
 Assignment operator.
Mapoperator= (Map &&other)
 Move assignment operator.
 Value ()
 Default constructor.
 Value (bool boolValue)
 Creates a boolean property value.
 Value (int32_t integerValue)
 Creates an integer property value.
 Value (float floatValue)
 Creates a float property value.
 Value (const Vector2 &vectorValue)
 Creates a Vector2 property value.
 Value (const Vector3 &vectorValue)
 Creates a Vector3 property value.
 Value (const Vector4 &vectorValue)
 Creates a Vector4 property value.
 Value (const Matrix3 &matrixValue)
 Creates a Matrix3 property value.
 Value (const Matrix &matrixValue)
 Creates a Matrix property value.
 Value (const Rect< int32_t > &vectorValue)
 Creates a Vector4 property value.
 Value (const AngleAxis &angleAxis)
 Creates an orientation property value.
 Value (const Quaternion &quaternion)
 Creates an orientation property value.
 Value (const std::string &stringValue)
 Creates an string property value.
 Value (const char *stringValue)
 Creates a string property value.
 Value (Property::Array &arrayValue)
 Creates an array property value.
 Value (Property::Array &&arrayValue)
 Creates an array property value.
 Value (Property::Map &mapValue)
 Creates a map property value.
 Value (Property::Map &&mapValue)
 Creates a map property value.
 Value (const std::initializer_list< KeyValuePair > &values)
 Create a map property value from an initializer_list.
 Value (const Extents &extentsValue)
 Creates an extents property value.
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
 Value (T enumValue)
 Creates an enumeration property value.
 Value (Type type)
 Explicitly sets a type and initialize it.
 Value (const Value &value)
 Copy constructor.
 Value (Value &&value)
 Move constructor.
Valueoperator= (const Value &value)
 Assigns a property value.
Valueoperator= (Value &&value)
 Move assignment operator.
 ~Value ()
 Non-virtual destructor.
Type GetType () const
 Queries the type of this property value.
template<typename T , typename std::enable_if< !std::is_enum< T >::value >::type * = nullptr>
Get () const
 Retrieves a specific value.
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
Get () const
 Retrieves a specific value.
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
bool Get (T &enumValue) const
 Retrieves an enumeration value.
bool Get (bool &boolValue) const
 Retrieves a boolean value.
bool Get (float &floatValue) const
 Retrieves a floating-point value.
bool Get (int32_t &integerValue) const
 Retrieves an integer value.
bool Get (Rect< int32_t > &rect) const
 Retrieves an integer rectangle.
bool Get (Vector2 &vectorValue) const
 Retrieves a vector value.
bool Get (Vector3 &vectorValue) const
 Retrieves a vector value.
bool Get (Vector4 &vectorValue) const
 Retrieves a vector value.
bool Get (Matrix3 &matrixValue) const
 Retrieves a matrix3 value.
bool Get (Matrix &matrixValue) const
 Retrieves a matrix value.
bool Get (AngleAxis &angleAxisValue) const
 Retrieves an angle-axis value.
bool Get (Quaternion &quaternionValue) const
 Retrieves a quaternion value.
bool Get (std::string &stringValue) const
 Retrieves an string property value.
bool Get (Property::Array &arrayValue) const
 Retrieves an array property value.
bool Get (Property::Map &mapValue) const
 Retrieves an map property value.
Property::ArrayGetArray () const
 Retrieves the Array API of the Property::Value without copying the contents of the map.
Property::MapGetMap () const
 Retrieves the Map API of the Property::Value without copying the contents of the map.
bool Get (Extents &extentsValue) const
 Retrieves an extents.
 Property (Handle &object, Property::Index propertyIndex)
 Creates a Property instance.
 Property (Handle &object, Property::Index propertyIndex, int32_t componentIndex)
 Creates a Property instance.
 Property (Handle &object, const std::string &propertyName)
 Creates a Property instance.
 Property (Handle &object, const std::string &propertyName, int32_t componentIndex)
 Creates a Property instance.
 ~Property ()
 Non-virtual destructor; Property is not intended as a base class.

Public Attributes

enum Dali::Property::Type type
 The type of the key.
Property::Index indexKey
 The index key.
std::string stringKey
 The string key.
Handleobject
 A valid handle to the target object.
Index propertyIndex
 The index of a property provided by object.
int32_t componentIndex
 Index of a property sub component, for use with Vector2, Vector3 and Vector4, -1 if using main property.

Static Public Attributes

static const int32_t INVALID_INDEX
static const int32_t INVALID_KEY
static const int32_t INVALID_COMPONENT_INDEX

Friends

DALI_CORE_API std::ostream & operator<< (std::ostream &stream, const Property::Array &array)
 Output to stream.
DALI_CORE_API std::ostream & operator<< (std::ostream &stream, const Property::Map &map)
 Output to stream.
DALI_CORE_API std::ostream & operator<< (std::ostream &ouputStream, const Property::Value &value)
 Output to stream.

Detailed Description

A Array of property values.

An object + property pair.

A value-type representing a property value.

A Map of property values, the key type could be String or Property::Index.

A key type which can be either a std::string or a Property::Index.

Since:
2.4, DALi version 1.0.0
Since:
4.0, DALi version 1.2.7

Member Typedef Documentation

typedef int32_t Dali::Property::Index

A valid property index is zero or greater.

Since:
2.4, DALi version 1.0.0

A vector of property indices.

Since:
2.4, DALi version 1.0.0

Member Enumeration Documentation

Enumeration for the access mode for custom properties.

Since:
2.4, DALi version 1.0.0
Enumerator:
READ_ONLY 

if the property is read-only

Since:
2.4, DALi version 1.0.0
READ_WRITE 

If the property is read/writeable.

Since:
2.4, DALi version 1.0.0
ANIMATABLE 

If the property can be animated or constrained.

Since:
2.4, DALi version 1.0.0
ACCESS_MODE_COUNT 

The number of access modes.

Since:
2.4, DALi version 1.0.0

The type of key.

Since:
4.0, DALi version 1.2.7
Enumerator:
INDEX 

The key is a Property::Index.

STRING 

The key is a string.

A string type.

Since:
2.4, DALi version 1.0.0
NONE 

No type.

Since:
2.4, DALi version 1.0.0
BOOLEAN 

A boolean type.

Since:
2.4, DALi version 1.0.0
FLOAT 

A float type.

Since:
2.4, DALi version 1.0.0
INTEGER 

An integer type.

Since:
2.4, DALi version 1.0.0
VECTOR2 

a vector array of size=2 with float precision

Since:
2.4, DALi version 1.0.0
VECTOR3 

a vector array of size=3 with float precision

Since:
2.4, DALi version 1.0.0
VECTOR4 

a vector array of size=4 with float precision

Since:
2.4, DALi version 1.0.0
MATRIX3 

a 3x3 matrix

Since:
2.4, DALi version 1.0.0
MATRIX 

a 4x4 matrix

Since:
2.4, DALi version 1.0.0
RECTANGLE 

an integer array of size=4

Since:
2.4, DALi version 1.0.0
ROTATION 

either a quaternion or an axis angle rotation

Since:
2.4, DALi version 1.0.0
STRING 

The key is a string.

A string type.

Since:
2.4, DALi version 1.0.0
ARRAY 

an array of Property::Value

Since:
2.4, DALi version 1.0.0
MAP 

a string key to Property:value mapping

Since:
2.4, DALi version 1.0.0
EXTENTS 

a collection of 4 x uint16_t

Since:
4.0, DALi version 1.2.62

Enumeration for the property types supported.

Since:
2.4, DALi version 1.0.0
Enumerator:
INDEX 

The key is a Property::Index.

STRING 

The key is a string.

A string type.

Since:
2.4, DALi version 1.0.0
NONE 

No type.

Since:
2.4, DALi version 1.0.0
BOOLEAN 

A boolean type.

Since:
2.4, DALi version 1.0.0
FLOAT 

A float type.

Since:
2.4, DALi version 1.0.0
INTEGER 

An integer type.

Since:
2.4, DALi version 1.0.0
VECTOR2 

a vector array of size=2 with float precision

Since:
2.4, DALi version 1.0.0
VECTOR3 

a vector array of size=3 with float precision

Since:
2.4, DALi version 1.0.0
VECTOR4 

a vector array of size=4 with float precision

Since:
2.4, DALi version 1.0.0
MATRIX3 

a 3x3 matrix

Since:
2.4, DALi version 1.0.0
MATRIX 

a 4x4 matrix

Since:
2.4, DALi version 1.0.0
RECTANGLE 

an integer array of size=4

Since:
2.4, DALi version 1.0.0
ROTATION 

either a quaternion or an axis angle rotation

Since:
2.4, DALi version 1.0.0
STRING 

The key is a string.

A string type.

Since:
2.4, DALi version 1.0.0
ARRAY 

an array of Property::Value

Since:
2.4, DALi version 1.0.0
MAP 

a string key to Property:value mapping

Since:
2.4, DALi version 1.0.0
EXTENTS 

a collection of 4 x uint16_t

Since:
4.0, DALi version 1.2.62

Constructor & Destructor Documentation

Non-virtual destructor.

Since:
2.4, DALi version 1.0.0

Non-virtual destructor.

Since:
2.4, DALi version 1.0.0

Non-virtual destructor.

This class is not a base class.

Since:
2.4, DALi version 1.0.0
Dali::Property::Property ( Handle object,
Property::Index  propertyIndex 
)

Creates a Property instance.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]objectA valid handle to the target object
[in]propertyIndexThe index of a property
Dali::Property::Property ( Handle object,
Property::Index  propertyIndex,
int32_t  componentIndex 
)

Creates a Property instance.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]objectA valid handle to the target object.
[in]propertyIndexThe index of a property.
[in]componentIndexIndex to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1)
Dali::Property::Property ( Handle object,
const std::string &  propertyName 
)

Creates a Property instance.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]objectA valid handle to the target object
[in]propertyNameThe property name
Note:
This performs a property index query and is therefore slower than constructing a Property directly with the index.
Dali::Property::Property ( Handle object,
const std::string &  propertyName,
int32_t  componentIndex 
)

Creates a Property instance.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]objectA valid handle to the target object
[in]propertyNameThe property name
[in]componentIndexIndex to a sub component of a property, for use with Vector2, Vector3 and Vector4. -1 for main property (default is -1)
Note:
This performs a property index query and is therefore slower than constructing a Property directly with the index.

Non-virtual destructor; Property is not intended as a base class.

Since:
2.4, DALi version 1.0.0

Member Function Documentation

Property::Map& Dali::Property::Add ( const char *  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as string.

Does not check for duplicates

Since:
4.0, DALi version 1.2.5
Parameters:
keyto insert
valueto insert
Returns:
a reference to this object

Add an element to the array.

Since:
4.0, DALi version 1.2.11
Parameters:
[in]valueThe value to add to the end of the array
Returns:
A reference to this object
Property::Map& Dali::Property::Add ( const std::string &  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as string.

Does not check for duplicates

Since:
4.0, DALi version 1.2.5
Parameters:
keyto insert
valueto insert
Returns:
a reference to this object
Property::Map& Dali::Property::Add ( Property::Index  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as index.

Does not check for duplicates

Since:
4.0, DALi version 1.2.5
Parameters:
keyto insert
valueto insert
Returns:
a reference to this object

Default constructor.

Since:
2.4, DALi version 1.0.0
Dali::Property::Array ( const std::initializer_list< Value > &  values)

Constructor from initializer_list.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]valuesAn initializer_list of values
Dali::Property::Array ( const Array other)

Copy constructor.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]otherThe Array to copy from

Move constructor.

A move constructor enables the resources owned by an r-value object to be moved into an l-value without copying.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]otherThe Array to move from
Note:
After the other array is used, it becomes invalid and is no longer usable.

Retrieves the capacity of the array.

Since:
2.4, DALi version 1.0.0
Returns:
The allocated capacity of the array

Clears the array.

Since:
2.4, DALi version 1.0.0

Clears the map.

Since:
2.4, DALi version 1.0.0
SizeType Dali::Property::Count ( ) const

Retrieves the number of elements in the map.

Since:
2.4, DALi version 1.0.0
Returns:
The number of elements in the map
SizeType Dali::Property::Count ( ) const

Retrieves the number of elements in the array.

Since:
2.4, DALi version 1.0.0
Returns:
The number of elements in the array
bool Dali::Property::Empty ( ) const

Returns whether the map is empty.

Since:
2.4, DALi version 1.0.0
Returns:
true if empty, false otherwise
bool Dali::Property::Empty ( ) const

Returns whether the array is empty.

Since:
2.4, DALi version 1.0.0
Returns:
true if empty, false otherwise
Value* Dali::Property::Find ( const char *  key) const

Finds the value for the specified key if it exists.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key to find
Returns:
A const pointer to the value if it exists, NULL otherwise
Value* Dali::Property::Find ( const std::string &  key) const

Finds the value for the specified key if it exists.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key to find
Returns:
A const pointer to the value if it exists, NULL otherwise

Finds the value for the specified key if it exists.

Since:
3.0, DALi version 1.1.39
Parameters:
[in]keyThe key to find
Returns:
A const pointer to the value if it exists, NULL otherwise
Value* Dali::Property::Find ( Property::Index  indexKey,
const std::string &  stringKey 
) const

Finds the value for the specified keys if either exist.

Will search for the index key first.

Since:
3.0, DALi version 1.1.45
Parameters:
[in]indexKeyThe index key to find
[in]stringKeyThe string key to find
Returns:
A const pointer to the value if it exists, NULL otherwise
Value* Dali::Property::Find ( const std::string &  key,
Property::Type  type 
) const

Finds the value for the specified key if it exists and its type is type.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key to find
[in]typeThe type to check
Returns:
A const pointer to the value if it exists, NULL otherwise

Finds the value for the specified key if it exists and its type is type.

Since:
3.0, DALi version 1.1.39
Parameters:
[in]keyThe key to find
[in]typeThe type to check
Returns:
A const pointer to the value if it exists, NULL otherwise
template<typename T , typename std::enable_if< !std::is_enum< T >::value >::type * = nullptr>
T Dali::Property::Get ( ) const

Retrieves a specific value.

Works on a best-effort approach; if value type is different returns a default value of the type.

Since:
5.5, DALi version 1.4.36
Returns:
A value of type T
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
T Dali::Property::Get ( ) const

Retrieves a specific value.

Works on a best-effort approach; if value type is different returns a default value of the type. Specialization for enumeration values

Since:
5.5, DALi version 1.4.36
Returns:
A value of type T
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
bool Dali::Property::Get ( T &  enumValue) const

Retrieves an enumeration value.

Since:
5.5, DALi version 1.4.36
Parameters:
[out]enumValueOn return, an enumeration value
Returns:
true if the value is successfully retrieved, false if the type is different
Precondition:
GetType() is any enumeration
bool Dali::Property::Get ( bool &  boolValue) const

Retrieves a boolean value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]boolValueOn return, a boolean value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to bool.
bool Dali::Property::Get ( float &  floatValue) const

Retrieves a floating-point value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]floatValueOn return, a floating-point value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to float.
bool Dali::Property::Get ( int32_t &  integerValue) const

Retrieves an integer value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]integerValueOn return, an integer value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to int.
bool Dali::Property::Get ( Rect< int32_t > &  rect) const

Retrieves an integer rectangle.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]rectOn return, an integer rectangle
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Rect<int>.
bool Dali::Property::Get ( Vector2 vectorValue) const

Retrieves a vector value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]vectorValueOn return, a vector value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Vector2.
bool Dali::Property::Get ( Vector3 vectorValue) const

Retrieves a vector value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]vectorValueOn return, a vector value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Vector3.
bool Dali::Property::Get ( Vector4 vectorValue) const

Retrieves a vector value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]vectorValueOn return, a vector value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Vector4.
bool Dali::Property::Get ( Matrix3 matrixValue) const

Retrieves a matrix3 value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]matrixValueOn return, a matrix3 value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Matrix3.
bool Dali::Property::Get ( Matrix matrixValue) const

Retrieves a matrix value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]matrixValueOn return, a matrix value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Matrix.
bool Dali::Property::Get ( AngleAxis angleAxisValue) const

Retrieves an angle-axis value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]angleAxisValueOn return, a angle-axis value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to AngleAxis.
bool Dali::Property::Get ( Quaternion quaternionValue) const

Retrieves a quaternion value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]quaternionValueOn return, a quaternion value
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Quaternion.
bool Dali::Property::Get ( std::string &  stringValue) const

Retrieves an string property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]stringValueA string
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to string.
bool Dali::Property::Get ( Property::Array arrayValue) const

Retrieves an array property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]arrayValueThe array as a vector Property Values
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() returns Property::ARRAY.
bool Dali::Property::Get ( Property::Map mapValue) const

Retrieves an map property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[out]mapValueThe map as vector of string and Property Value pairs
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() returns Property::MAP.
bool Dali::Property::Get ( Extents extentsValue) const

Retrieves an extents.

Since:
4.0, DALi version 1.2.62
Parameters:
[out]extentsValueExtents, a collection of 4 uint16_t
Returns:
true if the value is successfully retrieved, false if the type is not convertible
Precondition:
GetType() is a type convertible to Extents.

Retrieves the Array API of the Property::Value without copying the contents of the map.

Since:
2.4, DALi version 1.0.0
Returns:
The Array API of the Property::Value or NULL if not a Property::Array
const Value& Dali::Property::GetElementAt ( SizeType  index) const

Const access an element.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]indexThe element index to access. No bounds checking is performed
Returns:
The a reference to the element
Value& Dali::Property::GetElementAt ( SizeType  index)

Accesses an element.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]indexThe element index to access. No bounds checking is performed
Returns:
The a reference to the element
const std::string& Dali::Property::GetKey ( SizeType  position) const

Retrieves the key at the specified position.

DEPRECATED_1_1.39 Position based retrieval is no longer supported after extending the key type to both Index and String.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]positionThe specified position
Returns:
A const reference to the key at the specified position
Note:
Will assert if position >= Count()
Key Dali::Property::GetKeyAt ( SizeType  position) const

Retrieve the key at the specified position.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]positionThe specified position
Returns:
A copy of the key at the specified position.
Note:
Will assert if position >= Count()
KeyValuePair Dali::Property::GetKeyValue ( SizeType  position) const

Retrieve the key & the value at the specified position.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]positionThe specified position
Returns:
A copy of the pair of key and value at the specified position.
Note:
Will assert if position >= Count()

Retrieves the Map API of the Property::Value without copying the contents of the map.

Since:
2.4, DALi version 1.0.0
Returns:
The Map API of the Property::Value or NULL if not a Property::Map
StringValuePair& Dali::Property::GetPair ( SizeType  position) const

Retrieves the key & the value at the specified position.

DEPRECATED_1_1.39 Position based retrieval is no longer supported after extending the key type to both Index and String.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]positionThe specified position
Returns:
A reference to the pair of key and value at the specified position
Note:
Will assert if position >= Count() or key at position is an index key.

Queries the type of this property value.

Since:
2.4, DALi version 1.0.0
Returns:
The type ID
Value& Dali::Property::GetValue ( SizeType  position) const

Retrieves the value at the specified position.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]positionThe specified position
Returns:
A reference to the value at the specified position
Note:
Will assert if position >= Count()
void Dali::Property::Insert ( const char *  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as string.

Does not check for duplicates.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key to insert
[in]valueThe value to insert
void Dali::Property::Insert ( const std::string &  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as string.

Does not check for duplicates.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key to insert
[in]valueThe value to insert
void Dali::Property::Insert ( Property::Index  key,
const Value value 
)

Inserts the key-value pair in the Map, with the key type as index.

Does not check for duplicates.

Since:
3.0, DALi version 1.1.39
Parameters:
[in]keyThe key to insert
[in]valueThe value to insert
Dali::Property::Key ( const std::string &  key)

Constructor.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]keyThe string key
Dali::Property::Key ( const char *  key)

Constructor.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]keyThe string key as a const char *

Constructor.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]keyThe index key

Default constructor.

Since:
2.4, DALi version 1.0.0
Dali::Property::Map ( const std::initializer_list< KeyValuePair > &  values)

Constructor from initializer_list.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]valuesAn initializer_list of pairs of index and value.
Dali::Property::Map ( const Map other)

Copy constructor.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]otherThe Map to copy from
Dali::Property::Map ( Map &&  other)

Move constructor.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]otherThe Map to move from
Note:
After the other array is used, it becomes invalid and is no longer usable.
void Dali::Property::Merge ( const Map from)

Merges values from the map 'from' to the current.

Any values in 'from' will overwrite the values in the current map.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]fromThe map to merge from
bool Dali::Property::operator!= ( const std::string &  rhs)

The inequality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsA string key to compare against.
Returns:
true if the key is not equal or not a string key
bool Dali::Property::operator!= ( const char *  rhs)

The inequality operator.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]rhsA const char* key to compare against.
Returns:
true if the key is not equal or not a string key
bool Dali::Property::operator!= ( Property::Index  rhs)

The inequality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsAn index key to compare against.
Returns:
true if the key is not equal, or not an index key
bool Dali::Property::operator!= ( const Key rhs)

The inequality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsA key to compare against.
Returns:
true if the keys are not of the same type or are not equal
Array& Dali::Property::operator= ( const Array other)

Assignment operator.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]otherThe array to copy from
Returns:
The copied array.
Array& Dali::Property::operator= ( Array &&  other)

Move assignment operator.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]otherThe array to copy from
Returns:
The moved array.
Note:
After the other array is used, it becomes invalid and is no longer usable.
Value& Dali::Property::operator= ( const Value value)

Assigns a property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]valueThe property value to assign from
Returns:
a reference to this
Value& Dali::Property::operator= ( Value &&  value)

Move assignment operator.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]valueThe property value to move from
Returns:
a reference to this
Map& Dali::Property::operator= ( const Map other)

Assignment operator.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]otherThe map to copy from
Returns:
The copied map
Map& Dali::Property::operator= ( Map &&  other)

Move assignment operator.

Since:
5.5, DALi version 1.4.17
Parameters:
[in]otherThe map to move from
Returns:
The moved map
Note:
The other array is an r-value so becomes invalid and is no longer usable.
bool Dali::Property::operator== ( const std::string &  rhs)

The equality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsA string key to compare against.
Returns:
true if the key compares, or false if it isn't equal or of the wrong type
bool Dali::Property::operator== ( const char *  key)

Constructor.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]keyThe string key as a const char *
Returns:
true if the key compares, or false if it isn't equal or of the wrong type
bool Dali::Property::operator== ( Property::Index  rhs)

The equality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsAn index key to compare against.
Returns:
true if the key compares, or false if it isn't equal or of the wrong type
bool Dali::Property::operator== ( const Key rhs)

The equality operator.

Since:
4.0, DALi version 1.2.7
Parameters:
[in]rhsA key to compare against.
Returns:
true if the keys are of the same type and have the same value
const Value& Dali::Property::operator[] ( SizeType  index) const

Const operator to access an element.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]indexThe element index to access. No bounds checking is performed
Returns:
The a reference to the element
Value& Dali::Property::operator[] ( SizeType  index)

Operator to access an element.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]indexThe element index to access. No bounds checking is performed
Returns:
The a reference to the element
const Value& Dali::Property::operator[] ( const std::string &  key) const

Const operator to access element with the specified string key.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key whose value to access
Returns:
The value for the element with the specified key, if key doesn't exist, then Property::NONE is returned
Note:
Will assert if invalid-key is given.
Value& Dali::Property::operator[] ( const std::string &  key)

Operator to access the element with the specified string key.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]keyThe key whose value to access
Returns:
A reference to the value for the element with the specified key
Note:
If an element with the key does not exist, then it is created.
const Value& Dali::Property::operator[] ( Property::Index  key) const

Const operator to access element with the specified index key.

Since:
3.0, DALi version 1.1.39
Parameters:
[in]keyThe key whose value to access
Returns:
The value for the element with the specified key, if key doesn't exist, then Property::NONE is returned
Note:
Will assert if invalid-key is given.
Value& Dali::Property::operator[] ( Property::Index  key)

Operator to access the element with the specified index key.

Since:
3.0, DALi version 1.1.39
Parameters:
[in]keyThe key whose value to access
Returns:
A reference to the value for the element with the specified key
Note:
If an element with the key does not exist, then it is created.
void Dali::Property::PushBack ( const Value value)

Adds an element to the array.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]valueThe value to add to the end of the array
void Dali::Property::Reserve ( SizeType  size)

Increases the capacity of the array.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]sizeThe size to reserve
void Dali::Property::Resize ( SizeType  size)

Resizes to size.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]sizeThe size to resize
SizeType Dali::Property::Size ( ) const

Retrieves the number of elements in the array.

Since:
2.4, DALi version 1.0.0
Returns:
The number of elements in the array

Default constructor.

This creates a property with type Property::NONE.

Since:
2.4, DALi version 1.0.0
Dali::Property::Value ( bool  boolValue)

Creates a boolean property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]boolValueA boolean value
Dali::Property::Value ( int32_t  integerValue)

Creates an integer property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]integerValueAn integer value
Dali::Property::Value ( float  floatValue)

Creates a float property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]floatValueA floating-point value
Dali::Property::Value ( const Vector2 vectorValue)

Creates a Vector2 property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]vectorValueA vector of 2 floating-point values
Dali::Property::Value ( const Vector3 vectorValue)

Creates a Vector3 property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]vectorValueA vector of 3 floating-point values
Dali::Property::Value ( const Vector4 vectorValue)

Creates a Vector4 property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]vectorValueA vector of 4 floating-point values
Dali::Property::Value ( const Matrix3 matrixValue)

Creates a Matrix3 property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]matrixValueA matrix of 3x3 floating-point values
Dali::Property::Value ( const Matrix matrixValue)

Creates a Matrix property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]matrixValueA matrix of 4x4 floating-point values
Dali::Property::Value ( const Rect< int32_t > &  vectorValue)

Creates a Vector4 property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]vectorValueA vector of 4 integer values
Dali::Property::Value ( const AngleAxis angleAxis)

Creates an orientation property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]angleAxisAn angle-axis representing the rotation
Dali::Property::Value ( const Quaternion quaternion)

Creates an orientation property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]quaternionA quaternion representing the rotation
Dali::Property::Value ( const std::string &  stringValue)

Creates an string property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]stringValueA string
Dali::Property::Value ( const char *  stringValue)

Creates a string property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]stringValueA string

Creates an array property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]arrayValueAn array

Creates an array property value.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]arrayValueAn r-value array

Creates a map property value.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]mapValueA map

Creates a map property value.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]mapValueAn r-value map
Dali::Property::Value ( const std::initializer_list< KeyValuePair > &  values)

Create a map property value from an initializer_list.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]valuesAn initializer_list of pairs of index and value.
Dali::Property::Value ( const Extents extentsValue)

Creates an extents property value.

Since:
4.0, DALi version 1.2.62
Parameters:
[in]extentsValueA collection of 4 uint16_t values
template<typename T , typename std::enable_if< std::is_enum< T >::value >::type * = nullptr>
Dali::Property::Value ( enumValue)

Creates an enumeration property value.

Since:
5.5, DALi version 1.4.36
Parameters:
[in]enumValueAn enumeration value
Dali::Property::Value ( Type  type) [explicit]

Explicitly sets a type and initialize it.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]typeThe property value type
Dali::Property::Value ( const Value value)

Copy constructor.

Since:
2.4, DALi version 1.0.0
Parameters:
[in]valueThe property value to copy

Move constructor.

A move constructor enables the resources owned by an rvalue object to be moved into an lvalue without copying.

Since:
5.5, DALi version 1.4.16
Parameters:
[in]valueThe property value to move from

Friends And Related Function Documentation

DALI_CORE_API std::ostream& operator<< ( std::ostream &  stream,
const Property::Array array 
) [friend]

Output to stream.

Since:
3.0, DALi version 1.1.28
Since:
3.0, DALi version 1.1.28
Parameters:
[in]streamThe output stream operator
[in]arrayThe array to insert
Returns:
The output stream operator
DALI_CORE_API std::ostream& operator<< ( std::ostream &  stream,
const Property::Map map 
) [friend]

Output to stream.

Since:
3.0, DALi version 1.1.28
Since:
3.0, DALi version 1.1.28
Parameters:
[in]streamThe output stream operator
[in]mapThe map to insert
Returns:
The output stream operator
DALI_CORE_API std::ostream& operator<< ( std::ostream &  ouputStream,
const Property::Value value 
) [friend]

Output to stream.

Since:
2.4, DALi version 1.0.0
Since:
2.4, DALi version 1.0.0
Parameters:
[in]ouputStreamThe output stream operator
[in]valueThe value to insert
Returns:
The output stream operator

Member Data Documentation

-1 is not a valid property index

const int32_t Dali::Property::INVALID_INDEX [static]

-1 is not a valid property index

const int32_t Dali::Property::INVALID_KEY [static]

-1 is not a valid property key