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

component contains secondary data resembling the original data but should be another node entry in the graph. These types must provide a get_secondary() member function and that member function must return a pair-wise iterable container, e.g. std::map, of types: More...

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

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

Public Types

using type = Tp
 
using string_t = std::string
 
using base_type = internal::add_secondary< Tp, trait::secondary_data< Tp >::value >
 

Public Member Functions

 add_secondary (const type &_rhs, typename type::storage_type *_storage)
 
template<typename Storage , typename Iterator >
 add_secondary (Storage *_storage, Iterator _itr, const type &_rhs)
 
template<typename... Args>
 add_secondary (type &_rhs, Args &&... args)
 
template<typename... Args>
 add_secondary (std::nullptr_t, Args...)
 

Detailed Description

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

component contains secondary data resembling the original data but should be another node entry in the graph. These types must provide a get_secondary() member function and that member function must return a pair-wise iterable container, e.g. std::map, of types:

Template Parameters
TpComponent type
  • std::string
  • value_type or Tp

Definition at line 277 of file add_secondary.hpp.

Member Typedef Documentation

◆ base_type

template<typename Tp >
using tim::operation::add_secondary< Tp >::base_type = internal::add_secondary<Tp, trait::secondary_data<Tp>::value>

Definition at line 282 of file add_secondary.hpp.

◆ string_t

template<typename Tp >
using tim::operation::add_secondary< Tp >::string_t = std::string

Definition at line 281 of file add_secondary.hpp.

◆ type

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

Definition at line 280 of file add_secondary.hpp.

Constructor & Destructor Documentation

◆ add_secondary() [1/4]

template<typename Tp >
tim::operation::add_secondary< Tp >::add_secondary ( const type _rhs,
typename type::storage_type *  _storage 
)
inline

Definition at line 286 of file add_secondary.hpp.

287 : base_type{ _storage, operation::get_iterator<Tp>{}(_rhs), _rhs }
288 {}
internal::add_secondary< Tp, trait::secondary_data< Tp >::value > base_type

◆ add_secondary() [2/4]

template<typename Tp >
template<typename Storage , typename Iterator >
tim::operation::add_secondary< Tp >::add_secondary ( Storage *  _storage,
Iterator  _itr,
const type _rhs 
)
inline

Definition at line 294 of file add_secondary.hpp.

295 : base_type{ _storage, _itr, _rhs }
296 {}

◆ add_secondary() [3/4]

template<typename Tp >
template<typename... Args>
tim::operation::add_secondary< Tp >::add_secondary ( type _rhs,
Args &&...  args 
)
inline

Definition at line 302 of file add_secondary.hpp.

303 : base_type{ _rhs, std::forward<Args>(args)... }
304 {}

◆ add_secondary() [4/4]

template<typename Tp >
template<typename... Args>
tim::operation::add_secondary< Tp >::add_secondary ( std::nullptr_t  ,
Args...   
)
inline

Definition at line 310 of file add_secondary.hpp.

311 {}

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