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.
|
concept that specifies that a type is used to modify behavior at runtime. For example, the tim::component::user_bundle component is runtime configurable bc it allows you insert components at runtime. The timing category (tim::category::timing
) is another example of a type that is runtime configurable – setting tim::trait::runtime_enabled<tim::category::timing>::set(false);
will disable (at runtime) all the types which are part of the timing API. It should be noted that types which satisfy is_runtime_configurable<Tp>::value == true
(e.g. tim::component::user_bundle) are not eligible to be inserted into other runtime configurable components; i.e. you cannot insert/add tim::component::user_trace_bundle into tim::component::user_global_bundle, etc. This restriction is primarily due to the significant increase in compile-time that arises from allowing this behavior.
More...
#include "timemory/mpl/concepts.hpp"
Public Types | |
using | type = typename is_runtime_configurable ::template have< typename std::remove_cv< Tp >::type >::type |
Static Public Attributes | |
static constexpr bool | value = is_runtime_configurable ::template have<typename std::remove_cv<Tp>::type>::value |
concept that specifies that a type is used to modify behavior at runtime. For example, the tim::component::user_bundle component is runtime configurable bc it allows you insert components at runtime. The timing category (tim::category::timing
) is another example of a type that is runtime configurable – setting tim::trait::runtime_enabled<tim::category::timing>::set(false);
will disable (at runtime) all the types which are part of the timing API. It should be noted that types which satisfy is_runtime_configurable<Tp>::value == true
(e.g. tim::component::user_bundle) are not eligible to be inserted into other runtime configurable components; i.e. you cannot insert/add tim::component::user_trace_bundle into tim::component::user_global_bundle, etc. This restriction is primarily due to the significant increase in compile-time that arises from allowing this behavior.
Definition at line 344 of file concepts.hpp.
using tim::concepts::is_runtime_configurable< Tp >::type = typename is_runtime_configurable ::template have< typename std::remove_cv<Tp>::type>::type |
Definition at line 344 of file concepts.hpp.
|
staticconstexpr |
Definition at line 344 of file concepts.hpp.