Added TLV8_it add(uint8_t tag, TLV8 &subTLV)

Allows easy-add of a sub TLV to an existing TLV8
This commit is contained in:
Gregg 2024-04-04 21:31:28 -05:00
parent 75cbf9715f
commit 7e2625034c
2 changed files with 9 additions and 0 deletions

View File

@ -80,6 +80,14 @@ TLV8_it TLV8::add(uint8_t tag, size_t len, const uint8_t* val){
///////////////////////////////////// /////////////////////////////////////
TLV8_it TLV8::add(uint8_t tag, TLV8 &subTLV){
auto it=add(tag,subTLV.pack_size(),NULL); // create space for inserting sub TLV and store iterator to new element
subTLV.pack(*it); // pack subTLV into new element
return(--end());
}
/////////////////////////////////////
TLV8_it TLV8::find(uint8_t tag, TLV8_it it1, TLV8_it it2){ TLV8_it TLV8::find(uint8_t tag, TLV8_it it1, TLV8_it it2){
auto it=it1; auto it=it1;

View File

@ -80,6 +80,7 @@ class TLV8 : public std::list<tlv8_t, Mallocator<tlv8_t>> {
TLV8_it add(uint8_t tag, size_t len, const uint8_t *val); TLV8_it add(uint8_t tag, size_t len, const uint8_t *val);
TLV8_it add(uint8_t tag, uint8_t val){return(add(tag, 1, &val));} TLV8_it add(uint8_t tag, uint8_t val){return(add(tag, 1, &val));}
TLV8_it add(uint8_t tag){return(add(tag, 0, NULL));} TLV8_it add(uint8_t tag){return(add(tag, 0, NULL));}
TLV8_it add(uint8_t tag, TLV8 &subTLV);
TLV8_it find(uint8_t tag, TLV8_it it1, TLV8_it it2); TLV8_it find(uint8_t tag, TLV8_it it1, TLV8_it it2);
TLV8_it find(uint8_t tag, TLV8_it it1){return(find(tag, it1, end()));} TLV8_it find(uint8_t tag, TLV8_it it1){return(find(tag, it1, end()));}