Go to the documentation of this file.
39 #ifndef BLOCXX_MAP_HPP_INCLUDE_GUARD_
40 #define BLOCXX_MAP_HPP_INCLUDE_GUARD_
41 #include "blocxx/BLOCXX_config.h"
52 template<
class Key,
class T,
class Compare >
class Map;
54 template<
class Key,
class T,
class Compare>
55 inline bool operator==(
const Map<Key, T, Compare>& x,
56 const Map<Key, T, Compare>& y);
58 template<
class Key,
class T,
class Compare>
59 inline bool operator<(
const Map<Key, T, Compare>& x,
60 const Map<Key, T, Compare>& y);
63 template<
class Key,
class T,
class Compare = std::less<Key> >
class Map
65 typedef std::map<Key, T, Compare >
M;
68 typedef typename M::key_type
key_type;
73 typedef typename M::pointer
pointer;
77 typedef typename M::iterator
iterator;
86 explicit Map(
const Compare& comp)
88 template <
class InputIterator>
89 Map(InputIterator first, InputIterator last) :
93 template <
class InputIterator>
94 Map(InputIterator first, InputIterator last,
const Compare& comp) :
170 template <
class InputIterator>
171 void insert(InputIterator first, InputIterator last)
173 m_impl->insert(first, last);
185 m_impl->erase(first, last);
223 std::pair<const_iterator, const_iterator>
226 return m_impl->equal_range(x);
233 template <
class Key,
class T,
class Compare>
236 return new std::map<Key, T, Compare>(*obj);
238 template<
class Key,
class T,
class Compare>
242 return *x.m_impl == *y.m_impl;
244 template<
class Key,
class T,
class Compare>
248 return *x.m_impl < *y.m_impl;
250 template <
class Key,
class T,
class Compare>
bool operator<(const Array< T > &x, const Array< T > &y)
M::const_reference const_reference
std::pair< iterator, bool > insert(const value_type &x)
iterator lower_bound(const key_type &x)
M::difference_type difference_type
void swap(Array< T > &x, Array< T > &y)
M::mapped_type mapped_type
T & operator[](const key_type &k)
reverse_iterator rbegin()
void swap(COWReference< T > &arg)
M::const_pointer const_pointer
std::pair< iterator, iterator > equal_range(const key_type &x)
M::value_compare value_compare
size_type count(const key_type &x) const
void erase(iterator position)
M::key_compare key_compare
void swap(Map< Key, T, Compare > &x)
size_type max_size() const
bool operator==(const Array< T > &x, const Array< T > &y)
M::const_reverse_iterator const_reverse_iterator
M::reverse_iterator reverse_iterator
M::const_iterator const_iterator
iterator find(const key_type &x)
iterator upper_bound(const key_type &x)
std::map< Key, T, Compare > M
value_compare value_comp() const
T * COWReferenceClone(T *obj)
key_compare key_comp() const