|
timemory 3.3.0
Modular C++ Toolkit for Performance Analysis and Logging. Profiling API and Tools for C, C++, CUDA, Fortran, and Python. The C++ template API is essentially a framework to creating tools: it is designed to provide a unifying interface for recording various performance measurements alongside data logging and interfaces to other tools.
|
Base class for iterators, only pointers stored, no traversal logic. More...
#include "timemory/storage/graph.hpp"
Collaboration diagram for tim::graph< T, AllocatorT >::iterator_base:Public Types | |
| typedef T | value_type |
| typedef T * | pointer |
| typedef T & | reference |
| typedef size_t | size_type |
| typedef ptrdiff_t | difference_type |
| typedef std::bidirectional_iterator_tag | iterator_category |
Public Member Functions | |
| iterator_base () | |
| iterator_base (graph_node *) | |
| iterator_base (const iterator_base &)=default | |
| iterator_base (iterator_base &&) noexcept=default | |
| iterator_base & | operator= (const iterator_base &)=default |
| iterator_base & | operator= (iterator_base &&) noexcept=default |
| operator bool () const | |
| T & | operator* () const |
| T * | operator-> () const |
| void | skip_children () |
| When called, the next increment/decrement skips children of this node. More... | |
| void | skip_children (bool skip) |
| unsigned int | number_of_children () const |
| Number of children of the node pointed to by the iterator. More... | |
| sibling_iterator | begin () const |
| sibling_iterator | end () const |
Public Attributes | |
| graph_node * | node = nullptr |
Protected Attributes | |
| bool | m_skip_current_children = false |
Base class for iterators, only pointers stored, no traversal logic.
| typedef ptrdiff_t tim::graph< T, AllocatorT >::iterator_base::difference_type |
| typedef std::bidirectional_iterator_tag tim::graph< T, AllocatorT >::iterator_base::iterator_category |
| typedef T* tim::graph< T, AllocatorT >::iterator_base::pointer |
| typedef T& tim::graph< T, AllocatorT >::iterator_base::reference |
| typedef size_t tim::graph< T, AllocatorT >::iterator_base::size_type |
| typedef T tim::graph< T, AllocatorT >::iterator_base::value_type |
| tim::graph< T, AllocatorT >::iterator_base::iterator_base |
| tim::graph< T, AllocatorT >::iterator_base::iterator_base | ( | graph_node * | tn | ) |
|
default |
|
defaultnoexcept |
| graph< T, AllocatorT >::sibling_iterator tim::graph< T, AllocatorT >::iterator_base::begin |
Definition at line 2507 of file graph.hpp.
References tim::graph< T, AllocatorT >::end(), and tim::graph< T, AllocatorT >::sibling_iterator::m_parent.
Referenced by tim::graph< T, AllocatorT >::graph(), tim::graph< T, AllocatorT >::empty(), tim::graph< T, AllocatorT >::equal_subgraph(), tim::graph< T, AllocatorT >::merge(), and tim::graph< T, AllocatorT >::serialize().
| graph< T, AllocatorT >::sibling_iterator tim::graph< T, AllocatorT >::iterator_base::end |
Definition at line 2521 of file graph.hpp.
References tim::graph< T, AllocatorT >::sibling_iterator::m_parent.
Referenced by tim::graph< T, AllocatorT >::begin(), tim::graph< T, AllocatorT >::empty(), tim::graph< T, AllocatorT >::equal_subgraph(), tim::graph< T, AllocatorT >::merge(), tim::graph< T, AllocatorT >::reparent(), and tim::graph< T, AllocatorT >::serialize().
| unsigned int tim::graph< T, AllocatorT >::iterator_base::number_of_children |
Number of children of the node pointed to by the iterator.
Definition at line 2550 of file graph.hpp.
References tim::pos.
Referenced by tim::graph< T, AllocatorT >::equal(), and tim::graph< T, AllocatorT >::equal_subgraph().
|
inline |
| T & tim::graph< T, AllocatorT >::iterator_base::operator* |
| T * tim::graph< T, AllocatorT >::iterator_base::operator-> |
|
default |
|
defaultnoexcept |
| void tim::graph< T, AllocatorT >::iterator_base::skip_children |
When called, the next increment/decrement skips children of this node.
Definition at line 2532 of file graph.hpp.
Referenced by tim::graph< T, AllocatorT >::pre_order_iterator::pre_order_iterator().
| void tim::graph< T, AllocatorT >::iterator_base::skip_children | ( | bool | skip | ) |
|
protected |
| graph_node* tim::graph< T, AllocatorT >::iterator_base::node = nullptr |
Definition at line 178 of file graph.hpp.
Referenced by tim::graph< T, AllocatorT >::pre_order_iterator::pre_order_iterator(), tim::graph< T, AllocatorT >::child(), tim::graph< T, AllocatorT >::depth(), tim::graph< T, AllocatorT >::erase_children(), tim::graph< T, AllocatorT >::index(), tim::graph< T, AllocatorT >::is_head(), tim::graph< T, AllocatorT >::is_valid(), tim::graph< T, AllocatorT >::move_in(), tim::graph< T, AllocatorT >::move_out(), tim::graph< T, AllocatorT >::number_of_children(), tim::graph< T, AllocatorT >::number_of_siblings(), tim::graph< T, AllocatorT >::pre_order_iterator::operator!=(), tim::graph< T, AllocatorT >::sibling_iterator::operator!=(), tim::graph< T, AllocatorT >::pre_order_iterator::operator==(), tim::graph< T, AllocatorT >::sibling_iterator::operator==(), tim::graph< T, AllocatorT >::reduce(), tim::graph< T, AllocatorT >::reparent(), tim::graph< T, AllocatorT >::replace(), tim::graph< T, AllocatorT >::sibling(), and tim::graph< T, AllocatorT >::swap().