Improvements to STParsedJSON:

* Cleanups and reduction of copying
* Add STArray::back, operator[], push_back(&&)
* Add make_stvar
* Rework STParsedJSON
* Fix code and unit tests that use STParsedJSON
* STTx move constructor
This commit is contained in:
JoelKatz
2015-04-23 10:32:51 -07:00
committed by Nik Bougalis
parent 5a7fa8cfa9
commit 4244e1070d
13 changed files with 152 additions and 132 deletions

View File

@@ -71,11 +71,37 @@ public:
return emplace(n, buf, std::move(*this));
}
void push_back (const STObject & object)
STObject& operator[] (std::size_t j)
{
return v_[j];
}
STObject const& operator[] (std::size_t j) const
{
return v_[j];
}
STObject& back() { return v_.back(); }
STObject const& back() const { return v_.back(); }
template <class... Args>
void
emplace_back(Args&&... args)
{
v_.emplace_back(std::forward<Args>(args)...);
}
void push_back (STObject const& object)
{
v_.push_back(object);
}
void push_back (STObject&& object)
{
v_.push_back(std::move(object));
}
iterator begin ()
{
return v_.begin ();
@@ -101,11 +127,6 @@ public:
return v_.size ();
}
STObject& back ()
{
return v_.back ();
}
bool empty () const
{
return v_.empty ();