28 template <
class Nd,
class NdType,
class json_it>
31 std::unique_ptr<Impl>
node;
39 void writeJSON(std::ostream &os)
const override;
55 bool is_map()
const override;
56 bool is_seq()
const override;
59 void clear()
override;
60 std::string
key()
const override;
61 std::string
val()
const override;
67 bool has_child(std::string
const &)
const override;
71 const Node &
child(
size_t pos)
const override;
bool is_container() const override
bool has_child(std::string const &) const override
bool val_bool() const override
Node & child(size_t pos) override
const Node & operator>>(std::string &v) const override
Node & operator[](std::string const &k) override
Node & append_child() override
const TJSONTree * get_tree() const
size_t num_children() const override
std::string val() const override
void writeJSON(std::ostream &os) const override
bool has_key() const override
std::string key() const override
double val_double() const override
bool is_seq() const override
std::unique_ptr< Impl > node
bool has_val() const override
Node(TJSONTree *t, std::istream &is)
const Impl & get_node() const
bool is_map() const override
children_view children() override
Node & operator<<(std::string const &s) override
int val_int() const override
TJSONTree::Node & incache(const TJSONTree::Node &n)
std::list< Node > _nodecache
Node & rootnode() override
static constexpr double s