Namespace holding Read-Compute-Write based abstractions for knowledge base access.
More...
|
template<typename T > |
void | clear_dirty (Tracked< T > &t) |
| Clears dirty flag of Tracked types. More...
|
|
template<typename T > |
void | clear_dirty (std::vector< Tracked< T >> &t, size_t i) |
| Clears dirty flag of given index of vector of Tracked types. More...
|
|
template<typename T > |
void | clear_dirty (Tracked< std::vector< T >> &t, size_t i) |
| Clear dirty flag at index of Tracked vector. More...
|
|
template<typename T > |
const T & | get_value (const T &t) |
| Fallback definition of get_value; simply passes through the value. More...
|
|
template<typename T > |
auto | get_value (const std::vector< T > &t, size_t i) -> decltype(get_value(t[i])) |
| General definition of get_value with index. More...
|
|
template<typename T > |
auto | get_value (const Tracked< T > &t) -> decltype(get_value(t.get())) |
| Get value of Tracked type. More...
|
|
char | get_value (const Tracked< std::string > &t, size_t i) |
| Get value of given index of Tracked string type. More...
|
|
template<typename T > |
const T & | get_value (const Tracked< std::vector< T >> &t, size_t i) |
| Get value at index of Tracked vector. More...
|
|
template<typename T > |
bool | is_all_dirty (const Tracked< std::vector< T >> &t) |
| Return global dirty flag of Tracked vector. More...
|
|
template<typename T > |
bool | is_dirty (const Tracked< T > &t) |
| Returns dirty flag of Tracked types. More...
|
|
template<typename T > |
bool | is_dirty (const std::vector< Tracked< T >> &t, size_t i) |
| Returns dirty flag of given index of vector of Tracked types. More...
|
|
template<typename T > |
bool | is_dirty (const Tracked< std::vector< T >> &t, size_t i) |
| Return dirty flag at index of Tracked vector. More...
|
|
template<typename T > |
bool | is_size_dirty (const Tracked< std::vector< T >> &t) |
| Return size changed dirty flag of Tracked vector. More...
|
|
template<class T > |
auto | operator! (const Tracked< T > &lhs) -> decltype(!lhs.get()) |
|
template<class T , class U > |
auto | operator!= (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()!=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator!= (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)!=rhs.get()) |
|
template<class T , class U > |
auto | operator!= (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()!=rhs.get()) |
|
template<class T , class U > |
auto | operator% (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()%rhs.get()) |
|
template<class T , class U > |
auto | operator% (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()%std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator% (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)%rhs.get()) |
|
template<class T , class U > |
auto | operator%= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()%=rhs.get()) |
|
template<class T , class U > |
auto | operator%= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()%=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator%= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs%=rhs.get()) |
|
template<class T , class U > |
auto | operator& (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()&rhs.get()) |
|
template<class T , class U > |
auto | operator& (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()&std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator& (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)&rhs.get()) |
|
template<class T , class U > |
auto | operator&= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()&=rhs.get()) |
|
template<class T , class U > |
auto | operator&= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()&=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator&= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs &=rhs.get()) |
|
template<class T , class U > |
auto | operator* (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()*rhs.get()) |
|
template<class T , class U > |
auto | operator* (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()*std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator* (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)*rhs.get()) |
|
template<class T , class U > |
auto | operator*= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()*=rhs.get()) |
|
template<class T , class U > |
auto | operator*= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs *=rhs.get()) |
|
template<class T , class U > |
auto | operator*= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()*=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator+ (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()+rhs.get()) |
|
template<class T , class U > |
auto | operator+ (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()+std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator+ (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)+rhs.get()) |
|
template<class T > |
auto | operator+ (const Tracked< T > &lhs) -> decltype(+lhs.get()) |
|
template<class T > |
auto | operator++ (Tracked< T > &lhs) -> decltype(++lhs.get_mut()) |
|
template<class T > |
auto | operator++ (Tracked< T > &lhs, int) -> decltype(lhs.get_mut()++) |
|
template<class T , class U > |
auto | operator+= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()+=rhs.get()) |
|
template<class T , class U > |
auto | operator+= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()+=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator+= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs+=rhs.get()) |
|
template<class T , class U > |
auto | operator- (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)-rhs.get()) |
|
template<class T , class U > |
auto | operator- (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()-rhs.get()) |
|
template<class T , class U > |
auto | operator- (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()-std::forward< U >(rhs)) |
|
template<class T > |
auto | operator- (const Tracked< T > &lhs) -> decltype(-lhs.get()) |
|
template<class T > |
auto | operator-- (Tracked< T > &lhs, int) -> decltype(lhs.get_mut()--) |
|
template<class T > |
auto | operator-- (Tracked< T > &lhs) -> decltype(--lhs.get_mut()) |
|
template<class T , class U > |
auto | operator-= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()-=rhs.get()) |
|
template<class T , class U > |
auto | operator-= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()-=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator-= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs-=rhs.get()) |
|
template<class T , class U > |
auto | operator/ (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)/rhs.get()) |
|
template<class T , class U > |
auto | operator/ (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()/rhs.get()) |
|
template<class T , class U > |
auto | operator/ (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()/std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator/= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()/=rhs.get()) |
|
template<class T , class U > |
auto | operator/= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()/=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator/= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs/=rhs.get()) |
|
template<class T , class U > |
auto | operator< (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()< rhs.get()) |
|
template<class T , class U > |
auto | operator< (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()< std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator< (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)< rhs.get()) |
|
template<class T , class U > |
auto | operator<< (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()<< rhs.get()) |
|
template<class T , class U > |
auto | operator<< (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)<< rhs.get()) |
|
template<class T , class U > |
auto | operator<< (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()<< std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator<<= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()<<=rhs.get()) |
|
template<class T , class U > |
auto | operator<<= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()<<=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator<<= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs<<=rhs.get()) |
|
template<class T , class U > |
auto | operator<= (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()<=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator<= (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()<=rhs.get()) |
|
template<class T , class U > |
auto | operator<= (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)<=rhs.get()) |
|
template<class T , class U > |
auto | operator== (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()==rhs.get()) |
|
template<class T , class U > |
auto | operator== (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)==rhs.get()) |
|
template<class T , class U > |
auto | operator== (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()==std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator> (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs) >rhs.get()) |
|
template<class T , class U > |
auto | operator> (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get() >rhs.get()) |
|
template<class T , class U > |
auto | operator> (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get() >std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator>= (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get() >=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator>= (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs) >=rhs.get()) |
|
template<class T , class U > |
auto | operator>= (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get() >=rhs.get()) |
|
template<class T , class U > |
auto | operator>> (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs) >>rhs.get()) |
|
template<class T , class U > |
auto | operator>> (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get() >>rhs.get()) |
|
template<class T , class U > |
auto | operator>> (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get() >>std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator>>= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut() >>=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator>>= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs >>=rhs.get()) |
|
template<class T , class U > |
auto | operator>>= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut() >>=rhs.get()) |
|
template<class T , class U > |
auto | operator^ (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()^rhs.get()) |
|
template<class T , class U > |
auto | operator^ (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)^rhs.get()) |
|
template<class T , class U > |
auto | operator^ (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()^std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator^= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()^=std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator^= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs^=rhs.get()) |
|
template<class T , class U > |
auto | operator^= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()^=rhs.get()) |
|
template<class T , class U > |
auto | operator| (const Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get()|std::forward< U >(rhs)) |
|
template<class T , class U > |
auto | operator| (T &&lhs, const Tracked< U > &rhs) -> decltype(std::forward< T >(lhs)|rhs.get()) |
|
template<class T , class U > |
auto | operator| (const Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get()|rhs.get()) |
|
template<class T , class U > |
auto | operator|= (T &lhs, const Tracked< U > &rhs) -> decltype(lhs|=rhs.get()) |
|
template<class T , class U > |
auto | operator|= (Tracked< T > &lhs, const Tracked< U > &rhs) -> decltype(lhs.get_mut()|=rhs.get()) |
|
template<class T , class U > |
auto | operator|= (Tracked< T > &lhs, U &&rhs) -> decltype(lhs.get_mut()|=std::forward< U >(rhs)) |
|
template<class T > |
auto | operator~ (const Tracked< T > &lhs) -> decltype(~lhs.get()) |
|
template<typename T > |
void | set_value (T &t, const T &v) |
| Fallback definition of set_value; simply passes through the value. More...
|
|
template<typename T , typename V > |
void | set_value (std::vector< T > &t, size_t i, V v) |
| General definition of set_value with index. More...
|
|
template<typename T > |
void | set_value (Tracked< T > &t, decltype(get_value(t.get())) v) |
| Set value of Tracked type. More...
|
|
void | set_value (Tracked< std::string > &t, size_t i, char v) |
| Set value of given index of Tracked string type. More...
|
|
template<typename T > |
void | set_value (Tracked< std::vector< T >> &t, size_t i, const T &v) |
| Set value at index of Tracked vector. More...
|
|
template<class T > |
Tracked< typename std::decay< T >::type > | track (T &&val) |
| Create a tracked version of a given object. More...
|
|