+ * Does not check for duplicates.
+ * @SINCE_1_1.39
+ * @param[in] key The key to insert
+ * @param[in] value The value to insert
+ */
+ void Insert( Property::Index key, const Value& value );
+
+
+ /**
+ * @brief Inserts the key-value pair in the Map, with the key type as string.
+ *
+ * Does not check for duplicates
+ * @SINCE_1_2.5
+ * @param key to insert
+ * @param value to insert
+ * @return a reference to this object
+ */
+ inline Property::Map& Add( const char* key, const Value& value )
+ {
+ Insert(key, value);
+ return *this;
+ }
+
+ /**
+ * @brief Inserts the key-value pair in the Map, with the key type as string.
+ *
+ * Does not check for duplicates
+ * @SINCE_1_2.5
+ * @param key to insert
+ * @param value to insert
+ * @return a reference to this object
+ */
+ inline Property::Map& Add( const std::string& key, const Value& value )
+ {
+ Insert(key, value);
+ return *this;
+ }
+
+
+ /**
+ * @brief Inserts the key-value pair in the Map, with the key type as index.
+ *
+ * Does not check for duplicates
+ * @SINCE_1_2.5
+ * @param key to insert
+ * @param value to insert
+ * @return a reference to this object
+ */
+ inline Property::Map& Add( Property::Index key, const Value& value )
+ {
+ Insert(key, value);
+ return *this;
+ }
+
+ /**
+ * @brief Retrieves the value at the specified position.
+ *
+ * @SINCE_1_0.0
+ * @param[in] position The specified position
+ * @return A reference to the value at the specified position
+ *
+ * @note Will assert if position >= Count()
+ */
+ Value& GetValue( SizeType position ) const;
+
+ /**
+ * DEPRECATED_1_1.39 Position based retrieval is no longer supported after extending the key type to both Index and String.
+ *
+ * @brief Retrieves the key at the specified position.
+ *
+ * @SINCE_1_0.0
+ * @param[in] position The specified position
+ * @return A const reference to the key at the specified position