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

concept that specifies that a type is used for identifying a phase in some measurement. For example, tim::audit::incoming and tim::audit::outgoing can be added to overloads to distinguish whether the double type in double exp(double val) is val or whether it is the return value. More...

#include "timemory/mpl/concepts.hpp"

+ Collaboration diagram for tim::concepts::is_phase_id< Tp >:

Public Types

using type = typename is_phase_id ::template have< typename std::remove_cv< Tp >::type >::type
 

Static Public Attributes

static constexpr bool value = is_phase_id ::template have<typename std::remove_cv<Tp>::type>::value
 

Detailed Description

template<typename Tp>
struct tim::concepts::is_phase_id< Tp >

concept that specifies that a type is used for identifying a phase in some measurement. For example, tim::audit::incoming and tim::audit::outgoing can be added to overloads to distinguish whether the double type in double exp(double val) is val or whether it is the return value.

struct exp_wrapper_A
{
// unable to distingush whether "val" is input or output
void audit(double val) { ... }
};
struct exp_wrapper_B
{
// able to distingush whether "val" is input or output
void audit(audit::incoming, double val) { ... }
void audit(audit::outgoing, double val) { ... }
};
void audit(TupleT< Tp... > &obj, Args &&... args)
Definition: functional.cpp:939

Definition at line 373 of file concepts.hpp.

Member Typedef Documentation

◆ type

template<typename Tp >
using tim::concepts::is_phase_id< Tp >::type = typename is_phase_id ::template have< typename std::remove_cv<Tp>::type>::type

Definition at line 373 of file concepts.hpp.

Member Data Documentation

◆ value

template<typename Tp >
constexpr bool tim::concepts::is_phase_id< Tp >::value = is_phase_id ::template have<typename std::remove_cv<Tp>::type>::value
staticconstexpr

Definition at line 373 of file concepts.hpp.


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