MADARA
3.1.8
|
Implement functionality specific to std::vectors. More...
#include <Tracked.h>
Public Types | |
typedef std::vector< T >::const_iterator | const_iterator |
typedef std::vector< T >::value_type | value_type |
Public Member Functions | |
Tracked () | |
Default constructor, with empty vector. More... | |
Tracked (std::vector< T > val) | |
Construct from an existing vector. More... | |
const value_type & | at (size_t i) const |
Pass through at method to underlying collection. More... | |
value_type & | at_mut (size_t i) |
Pass through to non-const version of at method of underlying collection Immediately mark that index as modified when called. More... | |
value_type & | at_mutable (size_t i) |
Synonym for. More... | |
const value_type & | back () const |
Equivalent to back method of underlying collection. More... | |
value_type & | back () |
Equivalent to non-const back method of underlying collection. More... | |
const_iterator | begin () const |
Pass through to const begin method of underlying collection. More... | |
size_t | capacity () const |
Pass through capacity method to underlying vector. More... | |
const_iterator | cbegin () const |
Pass through to cbegin method of underlying collection. More... | |
const_iterator | cend () const |
Pass through to cend method of underlying collection. More... | |
void | clear () |
Pass through clear method to underlying vector. More... | |
void | clear_dirty () |
Clear all modification tracking. More... | |
void | clear_dirty (size_t i) |
Clear i-th element modification status. More... | |
bool | empty () |
Pass through to empty method of underlying collection. More... | |
const_iterator | end () const |
Pass through to const end method of underlying collection. More... | |
const value_type & | front () const |
Equivalent to front method of underlying collection. More... | |
value_type & | front_mut () |
Equivalent to non-const front method of underlying collection. More... | |
const value_type & | get (size_t i) const |
Synonym for. More... | |
const std::vector< T > & | get () const |
Get const reference to underlying vector. More... | |
value_type & | get_mut (size_t i) |
Synonym for. More... | |
std::vector< T > & | get_mut () |
Get non-const reference to underlying vector; mark all elements as dirty immediately. More... | |
value_type & | get_mutable (size_t i) |
Synonym for. More... | |
std::vector< T > & | get_mutable () |
Get non-const reference to underlying vector; mark all elements as dirty immediately. More... | |
bool | is_all_dirty () const |
Has entire vector been marked as modified? Note that this will still return false if every entry has been marked modified individually. More... | |
bool | is_dirty () const |
Has anything about this vector changed? More... | |
bool | is_dirty (size_t i) const |
Check i-th element modification status. More... | |
bool | is_size_dirty () const |
Has the size of this vector changed? More... | |
size_t | max_size () |
Pass through to max_size method of underlying collection. More... | |
void | modify () |
Flag entire vector as modified. More... | |
void | modify (size_t i) |
Mark i-th element as modified. More... | |
const std::vector< T > & | operator* () const |
Dereference to const reference. More... | |
const std::vector< T > * | operator-> () const |
Use to call const methods on underlying vector. More... | |
Tracked & | operator= (const std::vector< T > &val) |
Set entire vector to new vector. More... | |
const value_type & | operator[] (size_t i) const |
Pass through operator[] to underlying collection. More... | |
void | pop_back () |
Pass through pop_back method to underlying vector. More... | |
void | push_back (const value_type &value) |
Pass through push_back method to underlying vector. More... | |
void | reserve (size_t count) |
Pass through reserve method to underlying vector. More... | |
void | resize (size_t count) |
Pass through resize method to underlying vector. More... | |
void | set (size_t i, value_type val) |
Set value at index . More... | |
void | set (const std::vector< T > &val) |
Set entire vector to new vector. More... | |
size_t | size () |
Pass through to size method of underlying collection. More... | |
Private Types | |
typedef TrackedCollection< Vec, Tracked< std::vector< T > > > | Base |
typedef std::vector< T > | Vec |
Static Private Member Functions | |
static std::pair< size_t, uint64_t > | to_dirty_bit (size_t i) |
Get dirty flag bit offset into dirty_ vector, plus mask. More... | |
static size_t | to_dirty_size (size_t i) |
Get size of dirty_ vector needed to fit i-th dirty bit. More... | |
Private Attributes | |
bool | all_dirty_ |
dirty status to treat entire vector as modified More... | |
std::vector< uint64_t > | dirty_ |
dirty status for each entry More... | |
bool | size_dirty_ |
dirty status for size of vector More... | |
Vec | val_ |
the vector we're wrapping More... | |
Friends | |
bool | operator!= (const Tracked &lhs, const Tracked &rhs) |
bool | operator< (const Tracked &lhs, const Tracked &rhs) |
bool | operator<= (const Tracked &lhs, const Tracked &rhs) |
bool | operator== (const Tracked &lhs, const Tracked &rhs) |
bool | operator> (const Tracked &lhs, const Tracked &rhs) |
bool | operator>= (const Tracked &lhs, const Tracked &rhs) |
void | swap (Tracked &lhs, Tracked &rhs) |
Implement swap for tracked vectors. More... | |
class | TrackedCollection< std::vector< T >, Tracked< std::vector< T > > > |
Implement functionality specific to std::vectors.
|
private |
typedef std::vector<T>::const_iterator madara::knowledge::rcw::Tracked< std::vector< T > >::const_iterator |
typedef std::vector<T>::value_type madara::knowledge::rcw::Tracked< std::vector< T > >::value_type |
|
private |
|
inline |
|
inlineexplicit |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineinherited |
|
inline |
|
inlineinherited |
|
inlinestaticprivate |
|
inlinestaticprivate |
|
friend |
|
private |
|
private |
|
private |
|
private |