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::trait::base_has_accum< T > Struct Template Reference

trait that signifies that a component has an accumulation value. In general, most components implement 'value' and 'accum' data members of 'value_type'. Where 'value' is generally used as intermediate storage between start/stop and after stop have been called, 'value' is assigned as the difference between start/stop and added to 'accum'. However, in the case where 'accum' is not a valid metric for the component, this trait can be used to save memory bc it results in the 'accum' data member to be implemented as a data-type of std::tuple<>, which only requires 1 byte of memory. More...

#include "timemory/mpl/type_traits.hpp"

+ Collaboration diagram for tim::trait::base_has_accum< T >:

Detailed Description

template<typename T>
struct tim::trait::base_has_accum< T >

trait that signifies that a component has an accumulation value. In general, most components implement 'value' and 'accum' data members of 'value_type'. Where 'value' is generally used as intermediate storage between start/stop and after stop have been called, 'value' is assigned as the difference between start/stop and added to 'accum'. However, in the case where 'accum' is not a valid metric for the component, this trait can be used to save memory bc it results in the 'accum' data member to be implemented as a data-type of std::tuple<>, which only requires 1 byte of memory.

Definition at line 80 of file type_traits.hpp.


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