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::component::factory::hidden::opaque_typeids< T, false > Struct Template Reference

#include "timemory/components/opaque/definition.hpp"

+ Collaboration diagram for tim::component::factory::hidden::opaque_typeids< T, false >:

Public Types

using result_type = std::set< size_t >
 

Static Public Member Functions

template<typename U = T>
static auto get (enable_if_t< trait::is_available< U >::value, int >=0)
 
template<typename U = T>
static auto hash (enable_if_t< trait::is_available< U >::value, int >=0)
 
template<typename U = T>
static result_type get (enable_if_t<!trait::is_available< U >::value, long >=0)
 
template<typename U = T>
static size_t hash (enable_if_t<!trait::is_available< U >::value, long >=0)
 

Detailed Description

template<typename T>
struct tim::component::factory::hidden::opaque_typeids< T, false >

Definition at line 227 of file definition.hpp.

Member Typedef Documentation

◆ result_type

template<typename T >
using tim::component::factory::hidden::opaque_typeids< T, false >::result_type = std::set<size_t>

Definition at line 229 of file definition.hpp.

Member Function Documentation

◆ get() [1/2]

template<typename T >
template<typename U = T>
static auto tim::component::factory::hidden::opaque_typeids< T, false >::get ( enable_if_t< trait::is_available< U >::value, int >  = 0)
inlinestatic

Definition at line 234 of file definition.hpp.

235 {
236 return result_type({ typeid_hash<U>() });
237 }

◆ get() [2/2]

template<typename T >
template<typename U = T>
static result_type tim::component::factory::hidden::opaque_typeids< T, false >::get ( enable_if_t<!trait::is_available< U >::value, long >  = 0)
inlinestatic

Definition at line 246 of file definition.hpp.

247 {
248 return result_type({ 0 });
249 }

◆ hash() [1/2]

template<typename T >
template<typename U = T>
static auto tim::component::factory::hidden::opaque_typeids< T, false >::hash ( enable_if_t< trait::is_available< U >::value, int >  = 0)
inlinestatic

Definition at line 240 of file definition.hpp.

241 {
242 return typeid_hash<U>();
243 }

◆ hash() [2/2]

template<typename T >
template<typename U = T>
static size_t tim::component::factory::hidden::opaque_typeids< T, false >::hash ( enable_if_t<!trait::is_available< U >::value, long >  = 0)
inlinestatic

Definition at line 252 of file definition.hpp.

253 {
254 return 0;
255 }

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