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::invoke::disjoint Namespace Reference

Functions

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void push (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void pop (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void start (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void stop (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void mark (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void mark_begin (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void mark_end (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void store (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void reset (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void record (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void measure (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void set_prefix (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void set_scope (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void assemble (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void derive (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void audit (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename... Args>
void add_secondary (TupleT< Tp... > &&obj, Args &&... args)
 
template<template< typename... > class TupleT, typename... Tp, typename FuncT , typename... Args>
void invoke (TupleT< Tp... > &&obj, FuncT &&func, Args &&... args)
 

Function Documentation

◆ add_secondary()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::add_secondary ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1210 of file functional.cpp.

1216{

References invoke(), and TIMEMORY_FOLD_EXPRESSION.

◆ assemble()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::assemble ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1207 of file functional.cpp.

1216{

◆ audit()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::audit ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1209 of file functional.cpp.

1216{

◆ derive()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::derive ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1208 of file functional.cpp.

1216{

◆ invoke()

template<template< typename... > class TupleT, typename... Tp, typename FuncT , typename... Args>
void tim::invoke::disjoint::invoke ( TupleT< Tp... > &&  obj,
FuncT &&  func,
Args &&...  args 
)

Definition at line 1230 of file functional.cpp.

1231{
1232 disjoint_impl::invoke(std::forward<TupleT<Tp...>>(obj), std::forward<FuncT>(func),
1233 make_index_sequence<sizeof...(Tp)>{},
1234 std::forward<Args>(args)...);
1235}
void invoke(TupleT< Tp... > &&obj, FuncT &&func, Args &&... args)
std::make_integer_sequence< size_t, Num > make_index_sequence
Alias template make_index_sequence.
Definition: types.hpp:182

References invoke().

Referenced by add_secondary(), and invoke().

◆ mark()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::mark ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1198 of file functional.cpp.

1216{

◆ mark_begin()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::mark_begin ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1199 of file functional.cpp.

1216{

◆ mark_end()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::mark_end ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1200 of file functional.cpp.

1216{

◆ measure()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::measure ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1204 of file functional.cpp.

1216{

◆ pop()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::pop ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1195 of file functional.cpp.

1216{

◆ push()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::push ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1194 of file functional.cpp.

1216{

◆ record()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::record ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1203 of file functional.cpp.

1216{

◆ reset()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::reset ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1202 of file functional.cpp.

1216{

◆ set_prefix()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::set_prefix ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1205 of file functional.cpp.

1216{

◆ set_scope()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::set_scope ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1206 of file functional.cpp.

1216{

◆ start()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::start ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1196 of file functional.cpp.

1216{

◆ stop()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::stop ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1197 of file functional.cpp.

1216{

◆ store()

template<template< typename... > class TupleT, typename... Tp, typename... Args>
void tim::invoke::disjoint::store ( TupleT< Tp... > &&  obj,
Args &&...  args 
)

Definition at line 1201 of file functional.cpp.

1216{