RefLayer Class Reference

Concept for reading from and writing to containers. More...

#include <layer.h>

Detailed Description

Concept for reading from and writing to containers.

Note
RefLayer concept requires conforming to garlic::ViewLayer
concept RefLayer {
// Value iterator. This iterator can yield any type that conforms to RefLayer concept.
typename ValueIterator;
// Member iterator. This iterator can yield any type that conforms to RefLayer concept.
typename MemberIterator;
void set_string(garlic::text);
void set_string(garlic::string_ref); // optional but recommended. do not allocate memory in this case.
void set_bool(bool);
void set_int(int);
void set_double(double);
void set_null();
void set_list();
void set_object();
ValueIterator begin_list();
ValueIterator end_list();
ListRange get_list(); // must return any object that has begin() and end()
MemberIterator begin_member();
MemberIterator end_member();
MemberIterator find_member(const char*);
MemberIterator find_member(std::string_view);
MemberRange get_object(); // must return any object that has begin() and end()
void clear(); // clears the list of any elements.
void push_back(); // push a null value.
void push_back(const char*);
void push_back(garlic::text);
void push_back(garlic::string_ref); // optional but recommended. do not allocate memory in this case.
void push_back(bool);
void push_back(int);
void push_back(double);
// must prepare a value, pass to the callback function to get setup, then push that value back.
// the argument is a callback method that can take any type that conforms to RefLayer
void push_back_builder(void(*)(T));
void pop_back();
void erase(ValueIterator);
void erase(ValueIterator, ValueIterator); // erase anything between the two iterators.
void add_member(garlic::text); // add a member with the specified key and null as the value.
void add_member(garlic::text, const char*);
void add_member(garlic::text, bool);
void add_member(garlic::text, int);
void add_member(garlic::text, double);
// must prepare a value, pass to the callback function to get setup, then add that value.
// the last argument is a callback method that can take any type that conforms to RefLayer
void add_member_builder(garlic::text, void(*)(T));
void remove_member(garlic::text);
void erase_member(MemberIterator);
T get_reference(); // must return a RefLayer of the current layer without copying its content.
}

The documentation for this class was generated from the following file:
garlic::basic_text< char >
RefLayer
Concept for reading from and writing to containers.