26 #include "./internal/pn_unique_ptr.hpp" 40 template <
class K,
class T>
43 template <
class K,
class T>
47 template <
class K,
class T>
50 template <
class K,
class T>
53 template <
class K,
class T>
66 template <
class K,
class T>
67 class PN_CPP_CLASS_EXTERN
map {
68 template <
class M,
class U=
void>
69 struct assignable_map :
70 public internal::enable_if<codec::is_encodable_map<M,K,T>::value, U> {};
77 PN_CPP_EXTERN
map(
const map&);
80 PN_CPP_EXTERN
map& operator=(
const map&);
82 #if PN_CPP_HAS_RVALUE_REFERENCES 87 PN_CPP_EXTERN
map& operator=(
map&&);
94 typename assignable_map<M, map&>::type
operator=(
const M& x) {
value(x);
return *
this; }
110 PN_CPP_EXTERN T
get(
const K& k)
const;
113 PN_CPP_EXTERN
void put(
const K& k,
const T& v);
116 PN_CPP_EXTERN
size_t erase(
const K& k);
119 PN_CPP_EXTERN
bool exists(
const K& k)
const;
122 PN_CPP_EXTERN
size_t size()
const;
125 PN_CPP_EXTERN
void clear();
128 PN_CPP_EXTERN
bool empty()
const;
131 explicit map(pn_data_t*);
132 void reset(pn_data_t*);
136 typedef map_type_impl<K,T> map_type;
137 mutable internal::pn_unique_ptr<map_type> map_;
140 map_type& cache()
const;
146 friend PN_CPP_EXTERN
void swap<>(
map&, map&);
152 #endif // PROTON_MAP_HPP void swap(map< K, T > &, map< K, T > &)
Swap proton::map instances.
Unsettled API - A stream-like encoder from C++ values to AMQP bytes.
Definition: encoder.hpp:50
A collection of key-value pairs.
Definition: map.hpp:44
assignable_map< M, map & >::type operator=(const M &x)
Type-safe assign from a compatible map, for instance std::map<K,T>.
Definition: map.hpp:94
A holder for any AMQP value, simple or complex.
Definition: value.hpp:57
internal::enable_if< internal::is_unknown_integer< T >::value, decoder & >::type operator>>(decoder &d, T &i)
operator>> for integer types that are not covered by the standard overrides.
Definition: decoder.hpp:206
The main Proton namespace.
Definition: annotation_key.hpp:33
Unsettled API - A stream-like decoder from AMQP bytes to C++ values.
Definition: decoder.hpp:56
A holder for any AMQP value, simple or complex.