Add more convenient array and object accessors
This commit is contained in:
parent
a3c602407f
commit
c3ad96f88e
@ -304,6 +304,15 @@ json::node::operator!=(const node &rhs) const
|
|||||||
{ return !(*this == rhs); }
|
{ return !(*this == rhs); }
|
||||||
|
|
||||||
|
|
||||||
|
const json::node&
|
||||||
|
json::node::operator[] (const std::string &key) const
|
||||||
|
{ return to_object ()[key]; }
|
||||||
|
|
||||||
|
|
||||||
|
const json::node&
|
||||||
|
json::node::operator[] (unsigned int idx) const
|
||||||
|
{ return to_array()[idx]; }
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Object
|
* Object
|
||||||
*/
|
*/
|
||||||
|
8
json.hpp
8
json.hpp
@ -69,8 +69,10 @@ namespace json {
|
|||||||
virtual bool operator==(const boolean &) const { return false; }
|
virtual bool operator==(const boolean &) const { return false; }
|
||||||
virtual bool operator==(const null &) const { return false; }
|
virtual bool operator==(const null &) const { return false; }
|
||||||
|
|
||||||
virtual std::ostream& print (std::ostream &os) const = 0;
|
virtual const node& operator[] (const std::string&) const;
|
||||||
|
virtual const node& operator[] (unsigned int) const;
|
||||||
|
|
||||||
|
virtual std::ostream& print (std::ostream &os) const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@ -146,6 +148,7 @@ namespace json {
|
|||||||
{ return rhs == *this; }
|
{ return rhs == *this; }
|
||||||
|
|
||||||
operator const std::string&(void) const { return m_value; }
|
operator const std::string&(void) const { return m_value; }
|
||||||
|
const std::string& native (void) const { return m_value; }
|
||||||
|
|
||||||
virtual std::ostream& print (std::ostream &os) const;
|
virtual std::ostream& print (std::ostream &os) const;
|
||||||
};
|
};
|
||||||
@ -167,6 +170,7 @@ namespace json {
|
|||||||
{ return rhs == *this; }
|
{ return rhs == *this; }
|
||||||
|
|
||||||
operator double(void) const { return m_value; }
|
operator double(void) const { return m_value; }
|
||||||
|
double native (void) const { return m_value; }
|
||||||
|
|
||||||
virtual std::ostream& print (std::ostream &os) const;
|
virtual std::ostream& print (std::ostream &os) const;
|
||||||
};
|
};
|
||||||
@ -186,6 +190,8 @@ namespace json {
|
|||||||
virtual bool operator==(const node &rhs) const
|
virtual bool operator==(const node &rhs) const
|
||||||
{ return rhs == *this; }
|
{ return rhs == *this; }
|
||||||
|
|
||||||
|
bool native (void) const { return m_value; }
|
||||||
|
|
||||||
virtual std::ostream& print (std::ostream &os) const;
|
virtual std::ostream& print (std::ostream &os) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user