Cocos2d-x  v3.10
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Groups
Map< K, V > Class Template Reference

Similar to std::unordered_map, but it will manage reference count automatically internally. More...

Public Types

typedef RefMap::iterator iterator
 Iterator, can be used to loop the Map.
 
typedef RefMap::const_iterator const_iterator
 Const iterator, can be used to loop the Map.
 

Public Member Functions

iterator begin ()
 Return iterator to beginning.
 
const_iterator begin () const
 Return const_iterator to beginning.
 
iterator end ()
 Return iterator to end.
 
const_iterator end () const
 Return const_iterator to end.
 
const_iterator cbegin () const
 Return const_iterator to beginning.
 
const_iterator cend () const
 Return const_iterator to end.
 
 Map ()
 Default constructor.
 
 Map (ssize_t capacity)
 Constructor with capacity.
 
 Map (const Map< K, V > &other)
 Copy constructor.
 
 Map (Map< K, V > &&other)
 Move constructor.
 
 ~Map ()
 Destructor. More...
 
void reserve (ssize_t capacity)
 Sets capacity of the map.
 
ssize_t bucketCount () const
 Returns the number of buckets in the Map container.
 
ssize_t bucketSize (ssize_t n) const
 Returns the number of elements in bucket n.
 
ssize_t bucket (const K &k) const
 Returns the bucket number where the element with key k is located.
 
ssize_t size () const
 The number of elements in the map.
 
bool empty () const
 Returns a bool value indicating whether the map container is empty, i.e. More...
 
std::vector< K > keys () const
 Returns all keys in the map.
 
std::vector< K > keys (V object) const
 Returns all keys that matches the object.
 
const V at (const K &key) const
 Returns a reference to the mapped value of the element with key k in the map. More...
 
const_iterator find (const K &key) const
 Searches the container for an element with 'key' as key and returns an iterator to it if found, otherwise it returns an iterator to Map<K, V>\:\:end (the element past the end of the container). More...
 
void insert (const K &key, V object)
 Inserts new elements in the map. More...
 
iterator erase (const_iterator position)
 Removes an element with an iterator from the Map<K, V> container. More...
 
size_t erase (const K &k)
 Removes an element with an iterator from the Map<K, V> container. More...
 
void erase (const std::vector< K > &keys)
 Removes some elements with a vector which contains keys in the map. More...
 
void clear ()
 All the elements in the Map<K,V> container are dropped: their reference count will be decreased, and they are removed from the container, leaving it with a size of 0.
 
getRandomObject () const
 Gets a random object in the map. More...
 
Map< K, V > & operator= (const Map< K, V > &other)
 Copy assignment operator.
 
Map< K, V > & operator= (Map< K, V > &&other)
 Move assignment operator.
 

Detailed Description

template<class K, class V>
class cocos2d::Map< K, V >

Similar to std::unordered_map, but it will manage reference count automatically internally.

Which means it will invoke Ref::retain() when adding an element, and invoke Ref::release() when removing an element. The element should be Ref or its sub-class.

Constructor & Destructor Documentation

~Map ( )
inline

Destructor.

It will release all objects in map.

Member Function Documentation

bool empty ( ) const
inline

Returns a bool value indicating whether the map container is empty, i.e.

whether its size is 0. This function does not modify the content of the container in any way. To clear the content of an array object, member function unordered_map::clear exists.

const V at ( const K &  key) const
inline

Returns a reference to the mapped value of the element with key k in the map.

If key does not match the key of any element in the container, the function return nullptr. Key value of the element whose mapped value is accessed. Member type K is the keys for the elements in the container. defined in Map<K, V> as an alias of its first template parameter (Key).

const_iterator find ( const K &  key) const
inline

Searches the container for an element with 'key' as key and returns an iterator to it if found, otherwise it returns an iterator to Map<K, V>\:\:end (the element past the end of the container).

Key to be searched for. Member type 'K' is the type of the keys for the elements in the container, defined in Map<K, V> as an alias of its first template parameter (Key).

void insert ( const K &  key,
object 
)
inline

Inserts new elements in the map.

If the container has already contained the key, this function will erase the old pair(key, object) and insert the new pair. The key to be inserted. The object to be inserted.

iterator erase ( const_iterator  position)
inline

Removes an element with an iterator from the Map<K, V> container.

Iterator pointing to a single element to be removed from the Map<K, V>. Member type const_iterator is a forward iterator type.

size_t erase ( const K &  k)
inline

Removes an element with an iterator from the Map<K, V> container.

Key of the element to be erased. Member type 'K' is the type of the keys for the elements in the container, defined in Map<K, V> as an alias of its first template parameter (Key).

void erase ( const std::vector< K > &  keys)
inline

Removes some elements with a vector which contains keys in the map.

Keys of elements to be erased.

V getRandomObject ( ) const
inline

Gets a random object in the map.

Returns the random object if the map isn't empty, otherwise it returns nullptr.


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