24#ifndef __mqtt_string_collection_h
25#define __mqtt_string_collection_h
53 using ptr_t = std::shared_ptr<string_collection>;
59 using c_arr_type = std::vector<const char*>;
131 return std::make_shared<string_collection>(str);
139 static ptr_t create(
string&& str) {
return std::make_shared<string_collection>(str); }
146 return std::make_shared<string_collection>(vec);
155 return std::make_shared<string_collection>(vec);
164 return std::make_shared<string_collection>(sl);
173 return std::make_shared<string_collection>(sl);
213 bool empty()
const {
return coll_.empty(); }
218 size_t size()
const {
return coll_.size(); }
238 const string&
operator[](
size_t i)
const {
return coll_[i]; }
250 char*
const*
c_arr()
const {
return (
char*
const*)cArr_.data(); }
269 using collection_type = std::map<string, string>;
271 using c_arr_type = std::vector<MQTTAsync_nameValue>;
276 collection_type map_;
290 using ptr_t = std::shared_ptr<name_value_collection>;
352 bool empty()
const {
return map_.empty(); }
357 size_t size()
const {
return map_.size(); }
371 if (map_.insert(nvpair).second) {
387 const MQTTAsync_nameValue*
c_arr()
const {
return cArr_.data(); }
name_value_collection & operator=(const name_value_collection &other)
Definition string_collection.h:337
std::shared_ptr< const name_value_collection > const_ptr_t
Definition string_collection.h:292
name_value_collection(const collection_type &map)
Definition string_collection.h:303
name_value_collection(const name_value_collection &other)
Definition string_collection.h:313
name_value_collection()=default
name_value_collection & operator=(name_value_collection &&other)=default
std::shared_ptr< name_value_collection > ptr_t
Definition string_collection.h:290
name_value_collection(collection_type &&map)
Definition string_collection.h:308
void clear()
Definition string_collection.h:361
name_value_collection(name_value_collection &&other)=default
bool insert(const value_type &nvpair)
Definition string_collection.h:370
bool empty() const
Definition string_collection.h:352
const MQTTAsync_nameValue * c_arr() const
Definition string_collection.h:387
name_value_collection(std::initializer_list< value_type > init)
Definition string_collection.h:330
collection_type::value_type value_type
Definition string_collection.h:294
size_t size() const
Definition string_collection.h:357
const_iterator cbegin() const
Definition string_collection.h:203
string_collection & operator=(const string_collection &coll)
const_iterator begin() const
Definition string_collection.h:193
string_collection(std::initializer_list< const char * > sl)
size_t size() const
Definition string_collection.h:218
string_collection(const string_collection &coll)
string_collection(std::initializer_list< string > sl)
static ptr_t create(std::initializer_list< string > sl)
Definition string_collection.h:163
std::shared_ptr< const string_collection > const_ptr_t
Definition string_collection.h:55
string_collection(string_collection &&coll)=default
string_collection(const collection_type &vec)
std::shared_ptr< string_collection > ptr_t
Definition string_collection.h:53
void push_back(const string &str)
const string & operator[](size_t i) const
Definition string_collection.h:238
string_collection(const string &str)
static ptr_t create(const collection_type &vec)
Definition string_collection.h:145
static ptr_t create(std::initializer_list< const char * > sl)
Definition string_collection.h:172
string_collection()=default
collection_type::const_iterator const_iterator
Definition string_collection.h:50
const_iterator cend() const
Definition string_collection.h:208
void push_back(string &&str)
static ptr_t create(const string &str)
Definition string_collection.h:130
static ptr_t create(collection_type &&vec)
Definition string_collection.h:154
string_collection(string &&str)
const_iterator end() const
Definition string_collection.h:198
string_collection(collection_type &&vec)
string_collection & operator=(string_collection &&coll)=default
std::vector< string > collection_type
Definition string_collection.h:48
bool empty() const
Definition string_collection.h:213
static ptr_t create(string &&str)
Definition string_collection.h:139
char *const * c_arr() const
Definition string_collection.h:250
Definition async_client.h:60
string_collection::ptr_t string_collection_ptr
Definition string_collection.h:256
string_collection::const_ptr_t const_string_collection_ptr
Definition string_collection.h:259