24#ifndef __mqtt_string_collection_h
25#define __mqtt_string_collection_h
45 using collection_type = std::vector<string>;
47 using c_arr_type = std::vector<const char*>;
52 collection_type coll_;
70 using ptr_t = std::shared_ptr<string_collection>;
124 return std::make_shared<string_collection>(str);
133 return std::make_shared<string_collection>(str);
141 return std::make_shared<string_collection>(vec);
150 return std::make_shared<string_collection>(vec);
159 return std::make_shared<string_collection>(sl);
168 return std::make_shared<string_collection>(sl);
188 bool empty()
const {
return coll_.empty(); }
193 size_t size()
const {
return coll_.size(); }
213 const string&
operator[](
size_t i)
const {
return coll_[i]; }
225 char*
const*
c_arr()
const {
return (
char*
const *) cArr_.data(); }
244 using collection_type = std::map<string, string>;
246 using c_arr_type = std::vector<MQTTAsync_nameValue>;
251 collection_type map_;
265 using ptr_t = std::shared_ptr<name_value_collection>;
333 bool empty()
const {
return map_.empty(); }
338 size_t size()
const {
return map_.size(); }
352 if (map_.insert(nvpair).second) {
368 const MQTTAsync_nameValue*
c_arr()
const {
return cArr_.data(); }
Definition string_collection.h:242
name_value_collection & operator=(const name_value_collection &other)
Definition string_collection.h:318
std::shared_ptr< const name_value_collection > const_ptr_t
Definition string_collection.h:267
name_value_collection(const collection_type &map)
Definition string_collection.h:278
name_value_collection(const name_value_collection &other)
Definition string_collection.h:292
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:265
name_value_collection(collection_type &&map)
Definition string_collection.h:285
void clear()
Definition string_collection.h:342
name_value_collection(name_value_collection &&other)=default
bool insert(const value_type &nvpair)
Definition string_collection.h:351
bool empty() const
Definition string_collection.h:333
const MQTTAsync_nameValue * c_arr() const
Definition string_collection.h:368
name_value_collection(std::initializer_list< value_type > init)
Definition string_collection.h:310
collection_type::value_type value_type
Definition string_collection.h:269
size_t size() const
Definition string_collection.h:338
Definition string_collection.h:43
string_collection & operator=(const string_collection &coll)
string_collection(std::initializer_list< const char * > sl)
size_t size() const
Definition string_collection.h:193
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:158
std::shared_ptr< const string_collection > const_ptr_t
Definition string_collection.h:72
string_collection(string_collection &&coll)=default
string_collection(const collection_type &vec)
std::shared_ptr< string_collection > ptr_t
Definition string_collection.h:70
void push_back(const string &str)
const string & operator[](size_t i) const
Definition string_collection.h:213
string_collection(const string &str)
static ptr_t create(const collection_type &vec)
Definition string_collection.h:140
static ptr_t create(std::initializer_list< const char * > sl)
Definition string_collection.h:167
string_collection()=default
void push_back(string &&str)
static ptr_t create(const string &str)
Definition string_collection.h:123
static ptr_t create(collection_type &&vec)
Definition string_collection.h:149
string_collection(string &&str)
string_collection(collection_type &&vec)
string_collection & operator=(string_collection &&coll)=default
bool empty() const
Definition string_collection.h:188
static ptr_t create(string &&str)
Definition string_collection.h:132
char *const * c_arr() const
Definition string_collection.h:225
Definition async_client.h:49
string_collection::ptr_t string_collection_ptr
Definition string_collection.h:231
string_collection::const_ptr_t const_string_collection_ptr
Definition string_collection.h:234