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.
tim::tgraph_node< T > Class Template Reference

A node in the graph, combining links to other nodes as well as the actual data. More...

#include "timemory/storage/graph.hpp"

+ Collaboration diagram for tim::tgraph_node< T >:

Public Member Functions

 tgraph_node ()=default
 
 ~tgraph_node ()=default
 
 tgraph_node (const T &)
 
 tgraph_node (T &&) noexcept
 
 tgraph_node (const tgraph_node &)=delete
 
tgraph_nodeoperator= (const tgraph_node &)=delete
 
 tgraph_node (tgraph_node &&)=default
 
tgraph_nodeoperator= (tgraph_node &&)=default
 
template<typename Archive >
void serialize (Archive &ar, const unsigned int)
 

Public Attributes

tgraph_node< T > * parent = nullptr
 
tgraph_node< T > * first_child = nullptr
 
tgraph_node< T > * last_child = nullptr
 
tgraph_node< T > * prev_sibling = nullptr
 
tgraph_node< T > * next_sibling = nullptr
 
data = T{}
 

Detailed Description

template<typename T>
class tim::tgraph_node< T >

A node in the graph, combining links to other nodes as well as the actual data.

Definition at line 58 of file graph.hpp.

Constructor & Destructor Documentation

◆ tgraph_node() [1/5]

template<typename T >
tim::tgraph_node< T >::tgraph_node ( )
default

◆ ~tgraph_node()

template<typename T >
tim::tgraph_node< T >::~tgraph_node ( )
default

◆ tgraph_node() [2/5]

template<typename T >
tim::tgraph_node< T >::tgraph_node ( const T &  val)
explicit

Definition at line 97 of file graph.hpp.

98: data(val) // NOLINT
99{}

◆ tgraph_node() [3/5]

template<typename T >
tim::tgraph_node< T >::tgraph_node ( T &&  val)
explicitnoexcept

Definition at line 104 of file graph.hpp.

105: data(std::move(val))
106{}

◆ tgraph_node() [4/5]

template<typename T >
tim::tgraph_node< T >::tgraph_node ( const tgraph_node< T > &  )
delete

◆ tgraph_node() [5/5]

template<typename T >
tim::tgraph_node< T >::tgraph_node ( tgraph_node< T > &&  )
default

Member Function Documentation

◆ operator=() [1/2]

template<typename T >
tgraph_node & tim::tgraph_node< T >::operator= ( const tgraph_node< T > &  )
delete

◆ operator=() [2/2]

template<typename T >
tgraph_node & tim::tgraph_node< T >::operator= ( tgraph_node< T > &&  )
default

◆ serialize()

template<typename T >
template<typename Archive >
void tim::tgraph_node< T >::serialize ( Archive &  ar,
const unsigned int   
)
inline

Definition at line 88 of file graph.hpp.

89 {
90 ar(cereal::make_nvp("data", data));
91 }

References tim::tgraph_node< T >::data.

Member Data Documentation

◆ data

template<typename T >
T tim::tgraph_node< T >::data = T{}

Definition at line 83 of file graph.hpp.

Referenced by tim::tgraph_node< T >::serialize().

◆ first_child

◆ last_child

◆ next_sibling

◆ parent

◆ prev_sibling


The documentation for this class was generated from the following file: