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::variadic::heap_wrapper_types< T > Struct Template Reference

#include "timemory/variadic/impl.hpp"

+ Collaboration diagram for tim::variadic::heap_wrapper_types< T >:

Public Types

using reference_type = type_list< std::remove_pointer_t< T >... >
 the set of types without any pointers More...
 
using available_type = type_list_t< reference_type >
 type list of the available types More...
 
template<typename BundleT >
using this_type = convert_t< type_list< T... >, BundleT >
 the original bundle type More...
 
template<typename BundleT >
using type = convert_t< available_type, BundleT >
 the type after available_t<concat<...>> More...
 
template<typename BundleT >
using component_type = convert_t< type_list< T... >, BundleT >
 conversion to equivalent wrapper requiring explicit start/stop More...
 
template<typename BundleT >
using auto_type = concepts::auto_type_t< convert_t< type_list_type, BundleT > >
 conversion to equivalent wrapper which automatically starts/stops More...
 
template<typename ApiT = TIMEMORY_API>
using data_type = conditional_t< trait::is_available< ApiT >::value, convert_t< add_pointer_if_not_t< mpl::non_placeholder_t< mpl::non_quirk_t< type_list_t< T... > > > >, std::tuple<> >, std::tuple<> >
 the valid types to instantiate in a tuple More...
 

Public Member Functions

 TIMEMORY_DELETED_OBJECT (heap_wrapper_types) using type_list_type
 the set of types, unaltered, in a type_list More...
 

Detailed Description

template<typename... T>
struct tim::variadic::heap_wrapper_types< T >

Definition at line 66 of file impl.hpp.

Member Typedef Documentation

◆ auto_type

template<typename... T>
template<typename BundleT >
using tim::variadic::heap_wrapper_types< T >::auto_type = concepts::auto_type_t<convert_t<type_list_type, BundleT> >

conversion to equivalent wrapper which automatically starts/stops

Definition at line 93 of file impl.hpp.

◆ available_type

type list of the available types

Definition at line 77 of file impl.hpp.

◆ component_type

template<typename... T>
template<typename BundleT >
using tim::variadic::heap_wrapper_types< T >::component_type = convert_t<type_list<T...>, BundleT>

conversion to equivalent wrapper requiring explicit start/stop

Definition at line 89 of file impl.hpp.

◆ data_type

template<typename... T>
template<typename ApiT = TIMEMORY_API>
using tim::variadic::heap_wrapper_types< T >::data_type = conditional_t<trait::is_available<ApiT>::value, convert_t<add_pointer_if_not_t<mpl::non_placeholder_t< mpl::non_quirk_t<type_list_t<T...> >> >, std::tuple<> >, std::tuple<> >

the valid types to instantiate in a tuple

Definition at line 97 of file impl.hpp.

◆ reference_type

template<typename... T>
using tim::variadic::heap_wrapper_types< T >::reference_type = type_list<std::remove_pointer_t<T>...>

the set of types without any pointers

Definition at line 74 of file impl.hpp.

◆ this_type

template<typename... T>
template<typename BundleT >
using tim::variadic::heap_wrapper_types< T >::this_type = convert_t<type_list<T...>, BundleT>

the original bundle type

Definition at line 81 of file impl.hpp.

◆ type

template<typename... T>
template<typename BundleT >
using tim::variadic::heap_wrapper_types< T >::type = convert_t<available_type, BundleT>

the type after available_t<concat<...>>

Definition at line 85 of file impl.hpp.

Member Function Documentation

◆ TIMEMORY_DELETED_OBJECT()

template<typename... T>
tim::variadic::heap_wrapper_types< T >::TIMEMORY_DELETED_OBJECT ( heap_wrapper_types< T >  )

the set of types, unaltered, in a type_list


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