24 #ifndef __mqtt_string_collection_h 25 #define __mqtt_string_collection_h 27 #include "MQTTAsync.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(); }
376 #endif // __mqtt_string_collection_h std::shared_ptr< name_value_collection > ptr_t
Definition: string_collection.h:265
std::shared_ptr< string_collection > ptr_t
Definition: string_collection.h:70
size_t size() const
Definition: string_collection.h:193
name_value_collection(collection_type &&map)
Definition: string_collection.h:285
static ptr_t create(collection_type &&vec)
Definition: string_collection.h:149
const string & operator[](size_t i) const
Definition: string_collection.h:213
void push_back(const string &str)
string_collection::const_ptr_t const_string_collection_ptr
Definition: string_collection.h:234
name_value_collection(const name_value_collection &other)
Definition: string_collection.h:292
name_value_collection()=default
const MQTTAsync_nameValue * c_arr() const
Definition: string_collection.h:368
name_value_collection(const collection_type &map)
Definition: string_collection.h:278
string_collection & operator=(const string_collection &coll)
static ptr_t create(const collection_type &vec)
Definition: string_collection.h:140
Definition: string_collection.h:42
char *const * c_arr() const
Definition: string_collection.h:225
static ptr_t create(std::initializer_list< string > sl)
Definition: string_collection.h:158
static ptr_t create(string &&str)
Definition: string_collection.h:132
std::shared_ptr< const string_collection > const_ptr_t
Definition: string_collection.h:72
static ptr_t create(const string &str)
Definition: string_collection.h:123
string_collection::ptr_t string_collection_ptr
Definition: string_collection.h:231
string_collection()=default
name_value_collection(std::initializer_list< value_type > init)
Definition: string_collection.h:310
bool empty() const
Definition: string_collection.h:188
bool insert(const value_type &nvpair)
Definition: string_collection.h:351
void clear()
Definition: string_collection.h:342
collection_type::value_type value_type
Definition: string_collection.h:269
name_value_collection & operator=(const name_value_collection &other)
Definition: string_collection.h:318
Definition: async_client.h:49
std::shared_ptr< const name_value_collection > const_ptr_t
Definition: string_collection.h:267
bool empty() const
Definition: string_collection.h:333
size_t size() const
Definition: string_collection.h:338
static ptr_t create(std::initializer_list< const char *> sl)
Definition: string_collection.h:167
Definition: string_collection.h:241