ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
EspressoCaliIteration Struct Reference

RAII iteration annotation for one pass through a loop body. More...

#include <caliper_utils.hpp>

Public Member Functions

 EspressoCaliIteration (cali_id_t iter_attr, int iter, bool active)
 
 ~EspressoCaliIteration ()
 
 EspressoCaliIteration (const EspressoCaliIteration &)=delete
 
EspressoCaliIterationoperator= (const EspressoCaliIteration &)=delete
 
 EspressoCaliIteration (EspressoCaliIteration &&other) noexcept
 
EspressoCaliIterationoperator= (EspressoCaliIteration &&)=delete
 

Public Attributes

cali_id_t iter_attr_
 
bool active_
 

Detailed Description

RAII iteration annotation for one pass through a loop body.

Returned by EspressoCaliLoop::iteration(). When active, calls cali_begin_int on the loop's iteration attribute on construction and cali_end_byid on destruction — identical to what cali::Loop::Iteration does internally. When inactive, both operations are no-ops.

The object must be stored at the top of the loop body so that its lifetime spans the loop body:

for (int step = 0; ...) {
auto cali_iter = cali_loop.iteration(step);
// ...
} // cali_iter destroyed here, closing the iteration region

Definition at line 123 of file caliper_utils.hpp.

Constructor & Destructor Documentation

◆ EspressoCaliIteration() [1/3]

EspressoCaliIteration::EspressoCaliIteration ( cali_id_t  iter_attr,
int  iter,
bool  active 
)
inline

Definition at line 127 of file caliper_utils.hpp.

References active_, and iter_attr_.

◆ ~EspressoCaliIteration()

EspressoCaliIteration::~EspressoCaliIteration ( )
inline

Definition at line 132 of file caliper_utils.hpp.

References active_, and iter_attr_.

◆ EspressoCaliIteration() [2/3]

EspressoCaliIteration::EspressoCaliIteration ( const EspressoCaliIteration )
delete

◆ EspressoCaliIteration() [3/3]

EspressoCaliIteration::EspressoCaliIteration ( EspressoCaliIteration &&  other)
inlinenoexcept

Definition at line 139 of file caliper_utils.hpp.

Member Function Documentation

◆ operator=() [1/2]

EspressoCaliIteration & EspressoCaliIteration::operator= ( const EspressoCaliIteration )
delete

◆ operator=() [2/2]

EspressoCaliIteration & EspressoCaliIteration::operator= ( EspressoCaliIteration &&  )
delete

Member Data Documentation

◆ active_

bool EspressoCaliIteration::active_

Definition at line 125 of file caliper_utils.hpp.

Referenced by EspressoCaliIteration(), and ~EspressoCaliIteration().

◆ iter_attr_

cali_id_t EspressoCaliIteration::iter_attr_

Definition at line 124 of file caliper_utils.hpp.

Referenced by EspressoCaliIteration(), and ~EspressoCaliIteration().


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