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.
|
Iterator which traverses only the nodes which are siblings of each other. More...
#include "timemory/storage/graph.hpp"
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 Attributes | |
graph_node * | m_parent |
graph_node * | node = nullptr |
Protected Attributes | |
bool | m_skip_current_children = false |
Iterator which traverses only the nodes which are siblings of each other.
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
|
inherited |
tim::graph< T, AllocatorT >::sibling_iterator::sibling_iterator |
tim::graph< T, AllocatorT >::sibling_iterator::sibling_iterator | ( | graph_node * | tn | ) |
tim::graph< T, AllocatorT >::sibling_iterator::sibling_iterator | ( | const iterator_base & | other | ) |
|
default |
|
defaultnoexcept |
|
inherited |
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().
|
inherited |
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().
|
inherited |
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().
|
inlineinherited |
bool tim::graph< T, AllocatorT >::sibling_iterator::operator!= | ( | const sibling_iterator & | other | ) | const |
Definition at line 2477 of file graph.hpp.
References tim::graph< T, AllocatorT >::iterator_base::node.
|
inherited |
graph< T, AllocatorT >::sibling_iterator tim::graph< T, AllocatorT >::sibling_iterator::operator+ | ( | unsigned int | num | ) |
graph< T, AllocatorT >::sibling_iterator & tim::graph< T, AllocatorT >::sibling_iterator::operator++ |
graph< T, AllocatorT >::sibling_iterator tim::graph< T, AllocatorT >::sibling_iterator::operator++ | ( | int | ) |
graph< T, AllocatorT >::sibling_iterator & tim::graph< T, AllocatorT >::sibling_iterator::operator+= | ( | unsigned int | num | ) |
graph< T, AllocatorT >::sibling_iterator & tim::graph< T, AllocatorT >::sibling_iterator::operator-- |
graph< T, AllocatorT >::sibling_iterator tim::graph< T, AllocatorT >::sibling_iterator::operator-- | ( | int | ) |
graph< T, AllocatorT >::sibling_iterator & tim::graph< T, AllocatorT >::sibling_iterator::operator-= | ( | unsigned int | num | ) |
|
inherited |
|
default |
|
defaultnoexcept |
bool tim::graph< T, AllocatorT >::sibling_iterator::operator== | ( | const sibling_iterator & | other | ) | const |
Definition at line 2492 of file graph.hpp.
References tim::graph< T, AllocatorT >::iterator_base::node.
graph_node * tim::graph< T, AllocatorT >::sibling_iterator::range_first | ( | ) | const |
graph< T, AllocatorT >::graph_node * tim::graph< T, AllocatorT >::sibling_iterator::range_last |
Definition at line 2859 of file graph.hpp.
References tim::tgraph_node< T >::last_child.
Referenced by tim::graph< T, AllocatorT >::pre_order_iterator::pre_order_iterator().
|
inherited |
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().
|
inherited |
graph_node* tim::graph< T, AllocatorT >::sibling_iterator::m_parent |
Definition at line 256 of file graph.hpp.
Referenced by tim::graph< T, AllocatorT >::pre_order_iterator::pre_order_iterator(), tim::graph< T, AllocatorT >::iterator_base::begin(), tim::graph< T, AllocatorT >::iterator_base::end(), and tim::graph< T, AllocatorT >::end().
|
protectedinherited |
|
inherited |
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().