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.
available.hpp File Reference
#include "timemory/mpl/concepts.hpp"
#include "timemory/mpl/types.hpp"
#include "timemory/variadic/types.hpp"
#include <tuple>
+ Include dependency graph for available.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  tim::mpl::get_true_types< Predicate, Sequence >
 generic alias for extracting all types with a specified trait enabled More...
 
struct  tim::mpl::get_true_types< Predicate, type_list< Sequence... > >
 
struct  tim::mpl::get_false_types< Predicate, Sequence >
 generic alias for extracting all types with a specified trait disabled More...
 
struct  tim::mpl::get_false_types< Predicate, type_list< Sequence... > >
 

Namespaces

namespace  tim
 
namespace  tim::mpl
 

Typedefs

template<template< typename > class Predicate, typename Sequence >
using tim::mpl::filter_true_t = impl::filter_true< Predicate, Sequence >
 
template<template< typename > class Predicate, typename Sequence >
using tim::mpl::filter_false_t = impl::filter_false< Predicate, Sequence >
 
template<template< typename > class Predicate, typename... Sequence>
using tim::mpl::get_true_types_t = typename get_true_types< Predicate, Sequence... >::type
 
template<template< typename > class Predicate, typename... Sequence>
using tim::mpl::get_false_types_t = typename get_false_types< Predicate, Sequence... >::type
 
template<typename T >
using tim::mpl::non_quirk_t = impl::filter_true< concepts::is_quirk_type, T >
 
template<typename T >
using tim::mpl::non_placeholder_t = impl::filter_true< concepts::is_placeholder, T >
 
template<typename... Types>
using tim::mpl::implemented_t = impl::filter_false_after_decay_t< trait::is_available, type_list< Types... > >
 filter out any types that are not available More...
 
template<typename T >
using tim::mpl::implemented_list_t = impl::filter_false_after_decay_t< trait::is_available, T >
 
template<typename T >
using tim::mpl::available_t = impl::filter_false< trait::is_available, T >
 
template<typename... T>
using tim::stl_tuple_t = convert_t< mpl::available_t< concat< T... > >, std::tuple<> >
 
template<typename... T>
using tim::type_list_t = convert_t< mpl::available_t< concat< T... > >, type_list<> >
 
template<typename Tag , typename... T>
using tim::component_bundle_t = convert_t< mpl::available_t< type_list< T... > >, component_bundle< Tag > >
 
template<typename... T>
using tim::component_tuple_t = convert_t< mpl::available_t< concat< T... > >, component_tuple<> >
 
template<typename... T>
using tim::component_list_t = convert_t< mpl::available_t< concat< T... > >, component_list<> >
 
template<typename... T>
using tim::auto_tuple_t = convert_t< mpl::available_t< concat< T... > >, auto_tuple<> >
 
template<typename... T>
using tim::auto_list_t = convert_t< mpl::available_t< concat< T... > >, auto_list<> >
 
template<typename Tag , typename... T>
using tim::auto_bundle_t = convert_t< mpl::available_t< type_list< T... > >, auto_bundle< Tag > >
 
template<typename... T>
using tim::lightweight_tuple_t = convert_t< mpl::available_t< concat< T... > >, lightweight_tuple<> >
 

Class Documentation

◆ tim::mpl::get_true_types

struct tim::mpl::get_true_types
template<template< typename > class Predicate, typename... Sequence>
struct tim::mpl::get_true_types< Predicate, Sequence >

generic alias for extracting all types with a specified trait enabled

Definition at line 257 of file available.hpp.

+ Collaboration diagram for tim::mpl::get_true_types< Predicate, Sequence >:
Class Members
typedef filter_false< Predicate, tuple< Sequence... > > type

◆ tim::mpl::get_true_types< Predicate, type_list< Sequence... > >

struct tim::mpl::get_true_types< Predicate, type_list< Sequence... > >
template<template< typename > class Predicate, typename... Sequence>
struct tim::mpl::get_true_types< Predicate, type_list< Sequence... > >

Definition at line 269 of file available.hpp.

+ Collaboration diagram for tim::mpl::get_true_types< Predicate, type_list< Sequence... > >:
Class Members
typedef convert_t< filter_false< Predicate, tuple< Sequence... > >, type_list<> > type

◆ tim::mpl::get_false_types

struct tim::mpl::get_false_types
template<template< typename > class Predicate, typename... Sequence>
struct tim::mpl::get_false_types< Predicate, Sequence >

generic alias for extracting all types with a specified trait disabled

Definition at line 282 of file available.hpp.

+ Collaboration diagram for tim::mpl::get_false_types< Predicate, Sequence >:
Class Members
typedef filter_true< Predicate, tuple< Sequence... > > type

◆ tim::mpl::get_false_types< Predicate, type_list< Sequence... > >

struct tim::mpl::get_false_types< Predicate, type_list< Sequence... > >
template<template< typename > class Predicate, typename... Sequence>
struct tim::mpl::get_false_types< Predicate, type_list< Sequence... > >

Definition at line 294 of file available.hpp.

+ Collaboration diagram for tim::mpl::get_false_types< Predicate, type_list< Sequence... > >:
Class Members
typedef convert_t< filter_true< Predicate, tuple< Sequence... > >, type_list<> > type