Archivo de encabezado de la biblioteca estándar <map>
De cppreference.com
Este archivo de encabezado es parte de la biblioteca de contenedores.
Clases | ||
Colección de pares de clave y valor, ordenados por claves, donde las claves son únicas. (plantilla de clase) | ||
Colección de pares de clave y valor, ordenados por claves. (plantilla de clase) | ||
Funciones | ||
(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(C++20) | Compara lexicográficamente los valores de map. (plantilla de función) | |
Especializa el algoritmo std::swap. (plantilla de función) | ||
(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(eliminado en C++20)(C++20) | Compara lexicográficamente los valores de multimap. (plantilla de función) | |
Especializa el algoritmo std::swap. (plantilla de función) |
[editar]Sinopsis
#include <initializer_list> namespace std {template<class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key, T>>>class map; template<class Key, class T, class Compare, class Allocator>bool operator==(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator<(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator!=(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator>(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator>=(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator<=(const map<Key,T,Compare,Allocator>& x, const map<Key,T,Compare,Allocator>& y); template<class Key, class T, class Compare, class Allocator>void swap(map<Key,T,Compare,Allocator>& x, map<Key,T,Compare,Allocator>& y); template<class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key, T>>>class multimap; template<class Key, class T, class Compare, class Allocator>bool operator==(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator<(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator!=(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator>(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator>=(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y);template<class Key, class T, class Compare, class Allocator>bool operator<=(const multimap<Key,T,Compare,Allocator>& x, const multimap<Key,T,Compare,Allocator>& y); template<class Key, class T, class Compare, class Allocator>void swap(multimap<Key,T,Compare,Allocator>& x, multimap<Key,T,Compare,Allocator>& y);}
[editar]Plantilla de clase std::map
template<class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key, T>>>class map {public:// tipos:typedef Key key_type;typedef T mapped_type;typedef pair<const Key, T> value_type;typedef Compare key_compare;typedef Allocator allocator_type;typedef value_type& reference;typedefconst value_type& const_reference;typedef/*definido por la implementación*/ iterator;typedef/*definido por la implementación*/ const_iterator;typedef/*definido por la implementación*/ size_type;typedef/*definido por la implementación*/ difference_type;typedeftypename allocator_traits<Allocator>::pointer pointer;typedeftypename allocator_traits<Allocator>::const_pointer const_pointer;typedefstd::reverse_iterator<iterator> reverse_iterator;typedefstd::reverse_iterator<const_iterator> const_reverse_iterator; class value_compare {friendclass map;protected: Compare comp; value_compare(Compare c): comp(c){}public:typedefbool result_type;typedef value_type first_argument_type;typedef value_type second_argument_type;bool operator()(const value_type& x, const value_type& y)const{return comp(x.first, y.first);}}; explicit map(const Compare& comp = Compare(), const Allocator&= Allocator());template<class InputIterator> map(InputIterator first, InputIterator last, const Compare& comp = Compare(), const Allocator&= Allocator()); map(const map<Key,T,Compare,Allocator>& x); map(map<Key,T,Compare,Allocator>&& x);explicit map(const Allocator&); map(const map&, const Allocator&); map(map&&, const Allocator&); map(initializer_list<value_type>, const Compare&= Compare(), const Allocator&= Allocator()); ~map(); map<Key,T,Compare,Allocator>& operator=(const map<Key,T,Compare,Allocator>& x); map<Key,T,Compare,Allocator>& operator=(map<Key,T,Compare,Allocator>&& x); map& operator=(initializer_list<value_type>); allocator_type get_allocator()constnoexcept; // iteradores: iterator begin()noexcept; const_iterator begin()constnoexcept; iterator end()noexcept; const_iterator end()constnoexcept; reverse_iterator rbegin()noexcept; const_reverse_iterator rbegin()constnoexcept; reverse_iterator rend()noexcept; const_reverse_iterator rend()constnoexcept; const_iterator cbegin()noexcept; const_iterator cend()noexcept; const_reverse_iterator crbegin()constnoexcept; const_reverse_iterator crend()constnoexcept; // capacidad:bool empty()constnoexcept; size_type size()constnoexcept; size_type max_size()constnoexcept; // acceso a elementos: T& operator[](const key_type& x); T& operator[](key_type&& x); T& at(const key_type& x);const T& at(const key_type& x)const; // modificadores:template<class... Args> pair<iterator, bool> emplace(Args&&... args);template<class... Args> iterator emplace_hint(const_iterator position, Args&&... args); pair<iterator, bool> insert(const value_type& x);template<class P> pair<iterator, bool> insert(P&& x); iterator insert(const_iterator position, const value_type& x);template<class P> iterator insert(const_iterator position, P&&);template<class InputIterator>void insert(InputIterator first, InputIterator last);void insert(initializer_list<value_type>); iterator erase(const_iterator position); size_type erase(const key_type& x); iterator erase(const_iterator first, const_iterator last);void swap(map<Key,T,Compare,Allocator>&);void clear()noexcept; // observadores: key_compare key_comp()const; value_compare value_comp()const; // operaciones de map: iterator find(const key_type& x); const_iterator find(const key_type& x)const; size_type count(const key_type& x)const; iterator lower_bound(const key_type& x); const_iterator lower_bound(const key_type& x)const; iterator upper_bound(const key_type& x); const_iterator upper_bound(const key_type& x)const; pair<iterator,iterator> equal_range(const key_type& x); pair<const_iterator,const_iterator> equal_range(const key_type& x)const;};
[editar]Plantilla de clase std::multimap
template<class Key, class T, class Compare = less<Key>, class Allocator = allocator<pair<const Key, T>>>class multimap {public:// tipos:typedef Key key_type;typedef T mapped_type;typedef pair<const Key, T> value_type;typedef Compare key_compare;typedef Allocator allocator_type;typedef value_type& reference;typedefconst value_type& const_reference;typedef/*definido por la implementación*/ iterator;typedef/*definido por la implementación*/ const_iterator;typedef/*definido por la implementación*/ size_type;typedef/*definido por la implementación*/ difference_type;typedeftypename allocator_traits<Allocator>::pointer pointer;typedeftypename allocator_traits<Allocator>::const_pointer const_pointer;typedefstd::reverse_iterator<iterator> reverse_iterator;typedefstd::reverse_iterator<const_iterator> const_reverse_iterator; class value_compare {friendclass multimap;protected: Compare comp; value_compare(Compare c): comp(c){}public:typedefbool result_type;typedef value_type first_argument_type;typedef value_type second_argument_type;bool operator()(const value_type& x, const value_type& y)const{return comp(x.first, y.first);}}; explicit multimap(const Compare& comp = Compare(), const Allocator&= Allocator());template<class InputIterator> multimap(InputIterator first, InputIterator last, const Compare& comp = Compare(), const Allocator&= Allocator()); multimap(const multimap<Key,T,Compare,Allocator>& x); multimap(multimap<Key,T,Compare,Allocator>&& x);explicit multimap(const Allocator&); multimap(const multimap&, const Allocator&); multimap(multimap&&, const Allocator&); multimap(initializer_list<value_type>, const Compare&= Compare(), const Allocator&= Allocator()); ~multimap(); multimap<Key,T,Compare,Allocator>& operator=(const multimap<Key,T,Compare,Allocator>& x); multimap<Key,T,Compare,Allocator>& operator=(multimap<Key,T,Compare,Allocator>&& x); multimap& operator=(initializer_list<value_type>); allocator_type get_allocator()constnoexcept; // iteradores: iterator begin()noexcept; const_iterator begin()constnoexcept; iterator end()noexcept; const_iterator end()constnoexcept; reverse_iterator rbegin()noexcept; const_reverse_iterator rbegin()constnoexcept; reverse_iterator rend()noexcept; const_reverse_iterator rend()constnoexcept; const_iterator cbegin()noexcept; const_iterator cend()noexcept; const_reverse_iterator crbegin()constnoexcept; const_reverse_iterator crend()constnoexcept; // capacidad:bool empty()constnoexcept; size_type size()constnoexcept; size_type max_size()constnoexcept; // modificadores:template<class... Args> pair<iterator, bool> emplace(Args&&... args);template<class... Args> iterator emplace_hint(const_iterator position, Args&&... args); pair<iterator, bool> insert(const value_type& x);template<class P> pair<iterator, bool> insert(P&& x); iterator insert(const_iterator position, const value_type& x);template<class P> iterator insert(const_iterator position, P&&);template<class InputIterator>void insert(InputIterator first, InputIterator last);void insert(initializer_list<value_type>); iterator erase(const_iterator position); size_type erase(const key_type& x); iterator erase(const_iterator first, const_iterator last);void swap(multimap<Key,T,Compare,Allocator>&);void clear()noexcept; // observadores: key_compare key_comp()const; value_compare value_comp()const; // operaciones de multimap: iterator find(const key_type& x); const_iterator find(const key_type& x)const; size_type count(const key_type& x)const; iterator lower_bound(const key_type& x); const_iterator lower_bound(const key_type& x)const; iterator upper_bound(const key_type& x); const_iterator upper_bound(const key_type& x)const; pair<iterator,iterator> equal_range(const key_type& x); pair<const_iterator,const_iterator> equal_range(const key_type& x)const;};