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::trait::apply< TraitT, CommonT > Struct Template Reference

generic functions for setting/accessing static properties on types More...

#include "timemory/mpl/types.hpp"

+ Collaboration diagram for tim::trait::apply< TraitT, CommonT >:

Public Member Functions

template<typename... Types>
bool operator() (type_list< Types... >)
 

Static Public Member Functions

template<typename... Types, typename... Args>
static void set (Args &&... args)
 
template<typename... Types, typename... Args>
static auto get (Args &&... args)
 

Detailed Description

template<template< typename... > class TraitT, typename... CommonT>
struct tim::trait::apply< TraitT, CommonT >

generic functions for setting/accessing static properties on types

Definition at line 79 of file types.hpp.

Member Function Documentation

◆ get()

template<template< typename... > class TraitT, typename... CommonT>
template<typename... Types, typename... Args>
static auto tim::trait::apply< TraitT, CommonT >::get ( Args &&...  args)
inlinestatic

Definition at line 92 of file types.hpp.

93 {
94 return std::make_tuple(
95 TraitT<Types, CommonT...>::get(std::forward<Args>(args)...)...);
96 }
auto get(const auto_bundle< Tag, Types... > &_obj)

◆ operator()()

template<template< typename... > class TraitT, typename... CommonT>
template<typename... Types>
bool tim::trait::apply< TraitT, CommonT >::operator() ( type_list< Types... >  )
inline

Definition at line 99 of file types.hpp.

100 {
101 bool _ret = true;
103 return _ret;
104 }
const hash_alias_ptr_t hash_value_t std::string *& _ret
Definition: definition.hpp:300
#define TIMEMORY_FOLD_EXPRESSION(...)
Definition: types.hpp:56

◆ set()

template<template< typename... > class TraitT, typename... CommonT>
template<typename... Types, typename... Args>
static void tim::trait::apply< TraitT, CommonT >::set ( Args &&...  args)
inlinestatic

Definition at line 85 of file types.hpp.

86 {
88 TraitT<Types, CommonT...>::set(std::forward<Args>(args)...));
89 }

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