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::storage< Tp, type_list<> > Class Template Reference

#include "timemory/storage/declaration.hpp"

+ Collaboration diagram for tim::storage< Tp, type_list<> >:

Public Types

using Vp = conditional_t< trait::is_available< Tp >::value, typename Tp::value_type, void >
 
using this_type = storage< Tp, Vp >
 
using base_type = impl::storage< Tp, uses_value_storage_v >
 
using deleter_t = impl::storage_deleter< base_type >
 
using smart_pointer = std::unique_ptr< base_type, deleter_t >
 
using singleton_t = singleton< base_type, smart_pointer >
 
using pointer = typename singleton_t::pointer
 
using auto_lock_t = typename singleton_t::auto_lock_t
 
using iterator = typename base_type::iterator
 
using const_iterator = typename base_type::const_iterator
 

Static Public Attributes

static constexpr bool uses_value_storage_v = trait::uses_value_storage<Tp, Vp>::value
 

Friends

struct impl::storage_deleter< this_type >
 
class manager
 

Detailed Description

template<typename Tp>
class tim::storage< Tp, type_list<> >

Definition at line 860 of file declaration.hpp.

Member Typedef Documentation

◆ auto_lock_t

Definition at line 874 of file declaration.hpp.

◆ base_type

template<typename Tp >
using tim::storage< Tp, type_list<> >::base_type = impl::storage<Tp, uses_value_storage_v>

Definition at line 869 of file declaration.hpp.

◆ const_iterator

template<typename Tp >
using tim::storage< Tp, type_list<> >::const_iterator = typename base_type::const_iterator

Definition at line 876 of file declaration.hpp.

◆ deleter_t

template<typename Tp >
using tim::storage< Tp, type_list<> >::deleter_t = impl::storage_deleter<base_type>

Definition at line 870 of file declaration.hpp.

◆ iterator

template<typename Tp >
using tim::storage< Tp, type_list<> >::iterator = typename base_type::iterator

Definition at line 875 of file declaration.hpp.

◆ pointer

Definition at line 873 of file declaration.hpp.

◆ singleton_t

Definition at line 872 of file declaration.hpp.

◆ smart_pointer

template<typename Tp >
using tim::storage< Tp, type_list<> >::smart_pointer = std::unique_ptr<base_type, deleter_t>

Definition at line 871 of file declaration.hpp.

◆ this_type

template<typename Tp >
using tim::storage< Tp, type_list<> >::this_type = storage<Tp, Vp>

Definition at line 868 of file declaration.hpp.

◆ Vp

template<typename Tp >
using tim::storage< Tp, type_list<> >::Vp = conditional_t<trait::is_available<Tp>::value, typename Tp::value_type, void>

Definition at line 865 of file declaration.hpp.

Friends And Related Function Documentation

◆ impl::storage_deleter< this_type >

template<typename Tp >
friend struct impl::storage_deleter< this_type >
friend

Definition at line 867 of file declaration.hpp.

◆ manager

template<typename Tp >
friend class manager
friend

Definition at line 879 of file declaration.hpp.

Member Data Documentation

◆ uses_value_storage_v

template<typename Tp >
constexpr bool tim::storage< Tp, type_list<> >::uses_value_storage_v = trait::uses_value_storage<Tp, Vp>::value
staticconstexpr

Definition at line 867 of file declaration.hpp.


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