FastLED 3.10.8
Loading...
Searching...
No Matches

◆ operator[]() [1/2]

json_value & fl::json_value::operator[] ( const fl::string & key)
inline

Definition at line 1434 of file types.h.

1434 {
1435 if (!is_object()) data = json_object{};
1436 auto ptr = data.ptr<json_object>();
1437 if (!ptr) return get_null_json_value(); // Handle error case
1438 auto &obj = *ptr;
1439 if (obj.find(key) == obj.end()) {
1440 // Create a new entry if key doesn't exist
1441 obj[key] = fl::make_shared<json_value>();
1442 }
1443 return *obj[key];
1444 }
shared_ptr< T > make_shared(Args &&... args) FL_NO_EXCEPT
Definition shared_ptr.h:423
json_value & get_null_json_value() FL_NO_EXCEPT
Definition json.cpp.hpp:64
fl::flat_map< fl::string, fl::shared_ptr< json_value >, fl::StringFastLess > json_object
Definition types.h:55
bool is_object() const FL_NO_EXCEPT
Definition types.h:935
variant_t data
Definition types.h:760

References json_value(), data, fl::FL_NO_EXCEPT, fl::get_null_json_value(), is_object(), and fl::adl_barrier::make_shared().

+ Here is the call graph for this function: