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

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

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

Public Types

using type = Tp
 
using data_type = std::tuple< std::string, decltype(std::declval< type >().get())>
 

Public Member Functions

 get_labeled_data (const type &obj, data_type &dst)
 
template<typename Dp , typename... Args>
 get_labeled_data (const type &obj, Dp &dst, Args &&... args)
 
data_type operator() (const type &_obj)
 

Detailed Description

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

Definition at line 175 of file get.hpp.

Member Typedef Documentation

◆ data_type

template<typename Tp >
using tim::operation::get_labeled_data< Tp >::data_type = std::tuple<std::string, decltype(std::declval<type>().get())>

Definition at line 178 of file get.hpp.

◆ type

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

Definition at line 177 of file get.hpp.

Constructor & Destructor Documentation

◆ get_labeled_data() [1/2]

template<typename Tp >
tim::operation::get_labeled_data< Tp >::get_labeled_data ( const type obj,
data_type dst 
)
inline

Definition at line 185 of file get.hpp.

185{ sfinae(obj, 0, 0, dst); }

◆ get_labeled_data() [2/2]

template<typename Tp >
template<typename Dp , typename... Args>
tim::operation::get_labeled_data< Tp >::get_labeled_data ( const type obj,
Dp &  dst,
Args &&...  args 
)
inline

Definition at line 188 of file get.hpp.

189 {
190 static_assert(std::is_same<Dp, data_type>::value,
191 "Error! Dp != tuple<string, type::get()>");
192 sfinae(obj, 0, 0, dst, std::forward<Args>(args)...);
193 }

Member Function Documentation

◆ operator()()

template<typename Tp >
data_type tim::operation::get_labeled_data< Tp >::operator() ( const type _obj)
inline

Definition at line 195 of file get.hpp.

196 {
197 data_type _data{};
198 sfinae(_obj, 0, 0, _data);
199 return _data;
200 }
std::tuple< std::string, decltype(std::declval< type >().get())> data_type
Definition: get.hpp:178

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