X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=dali%2Fpublic-api%2Fobject%2Fproperty-map.h;h=902947d37c0b80bd3f68c33caa575fb4074590cf;hb=9f4878dd3cf496d4f10d6e4e73f311d1c8c29672;hp=2a41a788efe17092f1ef8a034185785072226cd3;hpb=55602e7fde8b3c1a1be39b841a4607afc4d35968;p=platform%2Fcore%2Fuifw%2Fdali-core.git diff --git a/dali/public-api/object/property-map.h b/dali/public-api/object/property-map.h index 2a41a78..902947d 100644 --- a/dali/public-api/object/property-map.h +++ b/dali/public-api/object/property-map.h @@ -28,76 +28,123 @@ namespace Dali { +/** + * @addtogroup dali_core_object + * @{ + */ + typedef std::pair StringValuePair; /** * @brief A Map of property values. + * @SINCE_1_0.0 */ class DALI_IMPORT_API Property::Map { public: + typedef std::size_t SizeType; + /** * @brief Default constructor. + * @SINCE_1_0.0 */ Map(); /** * @brief Copy Constructor. * + * @SINCE_1_0.0 * @param[in] other The Map to copy from. */ Map( const Map& other ); /** * @brief Non-virtual destructor. + * @SINCE_1_0.0 */ ~Map(); /** * @brief Retrieve the number of elements in the map. * + * @SINCE_1_0.0 * @return The number of elements in the map. */ - unsigned int Count() const; + SizeType Count() const; /** * @brief Returns whether the map is empty. * + * @SINCE_1_0.0 * @return true if empty, false otherwise */ bool Empty() const; /** + * @brief Inserts the key-value pair in the Map. + * + * Does not check for duplicates + * @SINCE_1_0.0 + * @param key to insert + * @param value to insert + */ + void Insert( const char* key, const Value& value ); + + /** + * @brief Inserts the key-value pair in the Map. + * + * Does not check for duplicates + * @SINCE_1_0.0 + * @param key to insert + * @param value to insert + */ + void Insert( const std::string& key, const Value& value ); + + /** * @brief Retrieve the value at the specified position. * + * @SINCE_1_0.0 * @return A reference to the value at the specified position. * * @note Will assert if position >= Count() */ - Value& GetValue( unsigned int position ) const; + Value& GetValue( SizeType position ) const; /** * @brief Retrieve the key at the specified position. * + * @SINCE_1_0.0 * @return A const reference to the key at the specified position. * * @note Will assert if position >= Count() */ - const std::string& GetKey( unsigned int position ) const; + const std::string& GetKey( SizeType position ) const; /** * @brief Retrieve the key & the value at the specified position. * + * @SINCE_1_0.0 * @return A reference to the pair of key and value at the specified position. * * @note Will assert if position >= Count() */ - StringValuePair& GetPair( unsigned int position ) const; + StringValuePair& GetPair( SizeType position ) const; + + /** + * @brief Finds the value for the specified key if it exists. + * + * @SINCE_1_0.0 + * @param[in] key The key to find. + * + * @return A const pointer to the value if it exists, NULL otherwise + */ + Value* Find( const char* key ) const; /** * @brief Finds the value for the specified key if it exists. * + * @SINCE_1_0.0 * @param[in] key The key to find. * * @return A const pointer to the value if it exists, NULL otherwise @@ -107,6 +154,7 @@ public: /** * @brief Finds the value for the specified key if it exists and its type is type * + * @SINCE_1_0.0 * @param[in] key The key to find. * @param[in] type The type to check. * @@ -116,6 +164,7 @@ public: /** * @brief Clears the map. + * @SINCE_1_0.0 */ void Clear(); @@ -124,6 +173,7 @@ public: * * Any values in 'from' will overwrite the values in the current map. * + * @SINCE_1_0.0 * @param[in] from The map to merge from. */ void Merge( const Map& from ); @@ -131,6 +181,7 @@ public: /** * @brief Const operator to access element with the specified key. * + * @SINCE_1_0.0 * @param[in] key The key whose value to access. * * @return The value for the element with the specified key, if key doesn't exist, then Property::NONE is returned. @@ -142,6 +193,7 @@ public: /** * @brief Operator to access the element with the specified key. * + * @SINCE_1_0.0 * @param[in] key The key whose value to access. * * @return A reference to the value for the element with the specified key. @@ -153,17 +205,38 @@ public: /** * @brief Assignment Operator * + * @SINCE_1_0.0 * @param[in] other The map to copy from. * * @return The copied map. */ Map& operator=( const Map& other ); + /** + * @brief output to stream + * @SINCE_1_1.28 + */ + friend std::ostream& operator<<( std::ostream& stream, const Property::Map& map ); + private: struct DALI_INTERNAL Impl; ///< Private data Impl* mImpl; ///< Pointer to private data }; +/** + * @brief Convert the key/value pairs of the property map into a string and append to an output stream. + * + * @SINCE_1_1.28 + * @param [in] stream The output stream operator. + * @param [in] map The map to insert + * @return The output stream operator. + */ +DALI_IMPORT_API std::ostream& operator<<( std::ostream& stream, const Property::Map& map ); + + +/** + * @} + */ } // namespace Dali #endif // __DALI_PROPERTY_MAP_H__