|
ZeroBuf
0.2.0
Zero-copy, zero-serialize, zero-hassle protocol buffers
|
STL-like vector abstraction for dynamic arrays in a zerobuf. More...
#include <Vector.h>
Collaboration diagram for zerobuf::Vector< T >:Public Member Functions | |
| Vector (Allocator &alloc, size_t index) | |
| bool | empty () const |
| uint64_t | size () const |
| void | clear () |
| Empty the vector. More... | |
| T * | data () |
| const T * | data () const |
| bool | operator== (const Vector &rhs) const |
| bool | operator!= (const Vector &rhs) const |
| template<class Q = T> | |
| const std::enable_if<!std::is_base_of< Zerobuf, Q >::value, Q >::type & | operator[] (const size_t index) const |
| template<class Q = T> | |
| std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type & | operator[] (const size_t index) |
| template<class Q = T> | |
| const std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type & | operator[] (const size_t index) const |
| template<class Q = T> | |
| std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type & | operator[] (const size_t index) |
| template<class Q = T> | |
| void | push_back (const typename std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type &) |
| Insert a builtin element at the end of the vector. More... | |
| template<class Q = T> | |
| void | push_back (const typename std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type &) |
| Insert a Zerobuf-derived element at the end of the vector. More... | |
| void | reset (Allocator &alloc) |
| void | compact (float) |
| Remove unused memory from vector and all members. More... | |
| template<class Q = T> | |
| void | fromJSON (const Json::Value &json, const typename std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type *=nullptr) |
| Update this vector from its JSON representation. More... | |
| template<class Q = T> | |
| void | fromJSON (const Json::Value &json, const typename std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type *=nullptr) |
| Update this vector from its JSON representation. More... | |
| template<class Q = T> | |
| void | toJSON (Json::Value &json, const typename std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type *=nullptr) const |
| template<class Q = T> | |
| void | toJSON (Json::Value &json, const typename std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type *=nullptr) const |
| template<class Q = T> | |
| void | fromJSONBinary (const Json::Value &json, const typename std::enable_if< std::is_pod< Q >::value, Q >::type *=nullptr) |
| Update this vector from its JSON, base64-encoded representation. More... | |
| template<class Q = T> | |
| void | toJSONBinary (Json::Value &json, const typename std::enable_if< std::is_pod< Q >::value, Q >::type *=nullptr) const |
| template<class Q > | |
| void | push_back (const typename std::enable_if<!std::is_base_of< Zerobuf, Q >::value, Q >::type &value) |
| template<class Q > | |
| void | fromJSON (const Json::Value &json, const typename std::enable_if<!std::is_base_of< Zerobuf, Q >::value, Q >::type *) |
STL-like vector abstraction for dynamic arrays in a zerobuf.
| T | element type |
|
inline |
Empty the vector.
Definition at line 157 of file Vector.h.
References zerobuf::Allocator::updateAllocation().
Referenced by zerobuf::Vector< uint8_t >::size().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
|
inline |
Definition at line 45 of file Vector.h.
Referenced by zerobuf::Vector< uint8_t >::compact(), zerobuf::Vector< T >::operator==(), zerobuf::Vector< T >::operator[](), and zerobuf::Vector< T >::toJSONBinary().
Here is the caller graph for this function:
|
inline |
|
inline |
|
inline |
Update this vector from its JSON representation.
Definition at line 258 of file Vector.h.
References zerobuf::Allocator::updateAllocation().
Referenced by zerobuf::Vector< uint8_t >::compact().
Here is the call graph for this function:
Here is the caller graph for this function:| void zerobuf::Vector< T >::fromJSON | ( | const Json::Value & | json, |
| const typename std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type * | = nullptr |
||
| ) |
Update this vector from its JSON representation.
|
inline |
Update this vector from its JSON, base64-encoded representation.
Definition at line 299 of file Vector.h.
Referenced by zerobuf::Vector< uint8_t >::compact().
Here is the caller graph for this function:
|
inline |
Definition at line 181 of file Vector.h.
References zerobuf::Vector< T >::operator==().
Referenced by zerobuf::Vector< uint8_t >::data().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 164 of file Vector.h.
References zerobuf::Vector< T >::data().
Referenced by zerobuf::Vector< uint8_t >::data(), and zerobuf::Vector< T >::operator!=().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 188 of file Vector.h.
References zerobuf::Vector< T >::data(), and zerobuf::Vector< T >::size().
Referenced by zerobuf::Vector< uint8_t >::data(), and zerobuf::Vector< T >::operator[]().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 198 of file Vector.h.
References zerobuf::Vector< T >::data(), zerobuf::Vector< T >::operator[](), zerobuf::Vector< T >::push_back(), zerobuf::Vector< T >::size(), and zerobuf::Allocator::updateAllocation().
Here is the call graph for this function:| const std::enable_if< std::is_base_of<Zerobuf,Q>::value, Q >::type& zerobuf::Vector< T >::operator[] | ( | const size_t | index | ) | const |
| std::enable_if< std::is_base_of< Zerobuf, Q >::value, Q >::type& zerobuf::Vector< T >::operator[] | ( | const size_t | index | ) |
| void zerobuf::Vector< T >::push_back | ( | const typename std::enable_if< !std::is_base_of< Zerobuf, Q >::value, Q >::type & | ) |
Insert a builtin element at the end of the vector.
Referenced by zerobuf::Vector< uint8_t >::data(), and zerobuf::Vector< T >::operator[]().
Here is the caller graph for this function:
|
inline |
Insert a Zerobuf-derived element at the end of the vector.
Definition at line 246 of file Vector.h.
References zerobuf::Allocator::updateAllocation().
Here is the call graph for this function:
|
inline |
Definition at line 39 of file Vector.h.
Referenced by zerobuf::Vector< uint8_t >::compact(), zerobuf::Vector< T >::operator[](), and zerobuf::Vector< T >::toJSON().
Here is the caller graph for this function:
|
inline |
Definition at line 280 of file Vector.h.
References zerobuf::Vector< T >::size().
Referenced by zerobuf::Vector< uint8_t >::compact().
Here is the call graph for this function:
Here is the caller graph for this function:
|
inline |
Definition at line 290 of file Vector.h.
References zerobuf::Vector< T >::size().
Here is the call graph for this function:
|
inline |
Definition at line 307 of file Vector.h.
References zerobuf::Vector< T >::data(), and zerobuf::Allocator::updateAllocation().
Referenced by zerobuf::Vector< uint8_t >::compact().
Here is the call graph for this function:
Here is the caller graph for this function: