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

This operation attempts to call a member function which the component provides to internally store whether or not the component triggered a depth change when it was push to the call-stack or when it was popped from the call-stack. More...

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

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

Public Member Functions

template<typename Up >
auto operator() (Up &obj, bool v) const
 
constexpr auto operator() () const
 

Detailed Description

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

This operation attempts to call a member function which the component provides to internally store whether or not the component triggered a depth change when it was push to the call-stack or when it was popped from the call-stack.

Template Parameters
TComponent type

Definition at line 538 of file types.hpp.

Member Function Documentation

◆ operator()() [1/2]

template<typename Tp >
constexpr auto tim::operation::set_is_flat< Tp >::operator() ( ) const
inlineconstexpr

Definition at line 282 of file set.hpp.

282{ return sfinae<Tp>(0); }

◆ operator()() [2/2]

template<typename Tp >
template<typename Up >
auto tim::operation::set_is_flat< Tp >::operator() ( Up &  obj,
bool  v 
) const
inline

Definition at line 275 of file set.hpp.

276 {
277 static_assert(!std::is_pointer<Up>::value,
278 "SFINAE tests will always fail with pointer types");
279 return sfinae(obj, 0, v);
280 }

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