NVTX++  3.0
C++ convenience wrappers for NVTX.
Public Member Functions | List of all members
nvtx3::domain_process_range< D > Class Template Reference

A RAII object for creating a NVTX range within a domain that can be created and destroyed on different threads. More...

#include <nvtx3.hpp>

Public Member Functions

 domain_process_range (event_attributes const &attr) noexcept
 Construct a new domain process range object. More...
 
template<typename First , typename... Args, typename = typename std::enable_if<not std::is_same< event_attributes, typename std::decay<First>>::value>>
 domain_process_range (First const &first, Args const &...args) noexcept
 Construct a new domain process range object. More...
 
constexpr domain_process_range () noexcept
 Construct a new domain process range object.
 
 ~domain_process_range () noexcept
 Destroy the domain_process_range ending the range.
 
 domain_process_range (domain_process_range const &)=delete
 
domain_process_rangeoperator= (domain_process_range const &)=delete
 
 domain_process_range (domain_process_range &&other) noexcept
 
domain_process_rangeoperator= (domain_process_range &&other) noexcept
 

Detailed Description

template<typename D = domain::global>
class nvtx3::domain_process_range< D >

A RAII object for creating a NVTX range within a domain that can be created and destroyed on different threads.

When constructed, begins a NVTX range in the specified domain. Upon destruction, ends the NVTX range.

Similar to nvtx3::domain_thread_range, the only difference being that domain_process_range can start and end on different threads.

Use of nvtx3::domain_thread_range should be preferred unless one needs the ability to start and end a range on different threads.

domain_process_range is moveable, but not copyable.

Template Parameters
DType containing name member used to identify the domain to which the domain_process_range belongs. Else, domain::global to indicate that the global NVTX domain should be used.

Constructor & Destructor Documentation

template<typename D = domain::global>
nvtx3::domain_process_range< D >::domain_process_range ( event_attributes const &  attr)
inlineexplicitnoexcept

Construct a new domain process range object.

Parameters
attr
template<typename D = domain::global>
template<typename First , typename... Args, typename = typename std::enable_if<not std::is_same< event_attributes, typename std::decay<First>>::value>>
nvtx3::domain_process_range< D >::domain_process_range ( First const &  first,
Args const &...  args 
)
inlineexplicitnoexcept

Construct a new domain process range object.

Parameters
first
args

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