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::operation::push_node< Tp > Struct Template Reference

#include "timemory/operations/types/node.hpp"

+ Collaboration diagram for tim::operation::push_node< Tp >:

Public Types

using type = Tp
 

Public Member Functions

 push_node (type &obj, scope::config _scope, hash_value_t _hash)
 
 push_node (type &obj, scope::config _scope, string_view_cref_t _key)
 
auto operator() (type &obj, scope::config _scope, hash_value_t _hash) const
 
auto operator() (type &obj, scope::config _scope, string_view_cref_t _key) const
 

Detailed Description

template<typename Tp>
struct tim::operation::push_node< Tp >

Definition at line 61 of file node.hpp.

Member Typedef Documentation

◆ type

template<typename Tp >
using tim::operation::push_node< Tp >::type = Tp

Definition at line 63 of file node.hpp.

Constructor & Destructor Documentation

◆ push_node() [1/2]

template<typename Tp >
tim::operation::push_node< Tp >::push_node ( type obj,
scope::config  _scope,
hash_value_t  _hash 
)
inline

Definition at line 67 of file node.hpp.

68 {
69 (*this)(obj, _scope, _hash);
70 }

◆ push_node() [2/2]

template<typename Tp >
tim::operation::push_node< Tp >::push_node ( type obj,
scope::config  _scope,
string_view_cref_t  _key 
)
inline

Definition at line 72 of file node.hpp.

73 : push_node(obj, _scope, get_hash_id(_key))
74 {}
hash_value_t get_hash_id(Tp &&_prefix)
Definition: types.hpp:143
push_node(type &obj, scope::config _scope, hash_value_t _hash)
Definition: node.hpp:67

Member Function Documentation

◆ operator()() [1/2]

template<typename Tp >
auto tim::operation::push_node< Tp >::operator() ( type obj,
scope::config  _scope,
hash_value_t  _hash 
) const
inline

Definition at line 76 of file node.hpp.

78 {
80 return sfinae(obj, 0, 0, 0, _scope, _hash);
81 }

References tim::operation::init_storage< Tp >::init().

◆ operator()() [2/2]

template<typename Tp >
auto tim::operation::push_node< Tp >::operator() ( type obj,
scope::config  _scope,
string_view_cref_t  _key 
) const
inline

Definition at line 83 of file node.hpp.

85 {
86 return (*this)(obj, _scope, get_hash_id(_key));
87 }

The documentation for this struct was generated from the following files: