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::component::gotcha_suppression::auto_toggle Struct Reference

#include "timemory/components/gotcha/suppression.hpp"

+ Collaboration diagram for tim::component::gotcha_suppression::auto_toggle:

Public Member Functions

 auto_toggle (bool &_value, bool _if_equal=false)
 
 auto_toggle (std::false_type)
 
 auto_toggle (std::true_type)
 
 ~auto_toggle ()
 
 auto_toggle (const auto_toggle &)=delete
 
 auto_toggle (auto_toggle &&)=delete
 
auto_toggleoperator= (const auto_toggle &)=delete
 
auto_toggleoperator= (auto_toggle &&)=delete
 

Detailed Description

Definition at line 50 of file suppression.hpp.

Constructor & Destructor Documentation

◆ auto_toggle() [1/5]

tim::component::gotcha_suppression::auto_toggle::auto_toggle ( bool &  _value,
bool  _if_equal = false 
)
inlineexplicit

Definition at line 68 of file suppression.hpp.

69: m_value{ _value }
70, m_if_equal{ _if_equal }
71{
72 if(m_value == m_if_equal)
73 {
74 m_value = !m_value;
75 m_did_toggle = true;
76 }
77}

◆ auto_toggle() [2/5]

tim::component::gotcha_suppression::auto_toggle::auto_toggle ( std::false_type  )
inline

Definition at line 79 of file suppression.hpp.

80: auto_toggle{ get(), false }
81{}
auto get(const auto_bundle< Tag, Types... > &_obj)
auto_toggle(bool &_value, bool _if_equal=false)
Definition: suppression.hpp:68

◆ auto_toggle() [3/5]

tim::component::gotcha_suppression::auto_toggle::auto_toggle ( std::true_type  )
inline

Definition at line 83 of file suppression.hpp.

84: auto_toggle{ get(), true }
85{}

◆ ~auto_toggle()

tim::component::gotcha_suppression::auto_toggle::~auto_toggle ( )
inline

Definition at line 87 of file suppression.hpp.

88{
89 if(m_value != m_if_equal && m_did_toggle)
90 {
91 m_value = !m_value;
92 }
93}

◆ auto_toggle() [4/5]

tim::component::gotcha_suppression::auto_toggle::auto_toggle ( const auto_toggle )
delete

◆ auto_toggle() [5/5]

tim::component::gotcha_suppression::auto_toggle::auto_toggle ( auto_toggle &&  )
delete

Member Function Documentation

◆ operator=() [1/2]

auto_toggle & tim::component::gotcha_suppression::auto_toggle::operator= ( auto_toggle &&  )
delete

◆ operator=() [2/2]

auto_toggle & tim::component::gotcha_suppression::auto_toggle::operator= ( const auto_toggle )
delete

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