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.
lightweight_tuple.hpp File Reference
#include "timemory/backends/dmp.hpp"
#include "timemory/general/source_location.hpp"
#include "timemory/mpl/apply.hpp"
#include "timemory/mpl/filters.hpp"
#include "timemory/operations/types.hpp"
#include "timemory/settings/declaration.hpp"
#include "timemory/storage/types.hpp"
#include "timemory/tpls/cereal/cereal.hpp"
#include "timemory/utility/macros.hpp"
#include "timemory/utility/transient_function.hpp"
#include "timemory/variadic/base_bundle.hpp"
#include "timemory/variadic/functional.hpp"
#include "timemory/variadic/types.hpp"
#include <cstdint>
#include <cstdio>
#include <fstream>
#include <functional>
#include <iomanip>
#include <ios>
#include <iostream>
#include <string>
+ Include dependency graph for lightweight_tuple.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  tim::lightweight_tuple< Types >
 This is a variadic component wrapper which provides the least amount of runtime and compilation overhead. More...
 

Namespaces

namespace  tim
 
namespace  std
 STL namespace.
 

Functions

template<typename... Types>
auto tim::get (const lightweight_tuple< Types... > &_obj) -> decltype(std::declval< lightweight_tuple< Types... > >().get())
 
template<typename... Types>
auto tim::get_labeled (const lightweight_tuple< Types... > &_obj) -> decltype(std::declval< lightweight_tuple< Types... > >().get_labeled())
 
template<std::size_t N, typename... Types>
std::tuple_element< N, std::tuple< Types... > >::type & std::get (::tim::lightweight_tuple< Types... > &obj)
 
template<std::size_t N, typename... Types>
const std::tuple_element< N, std::tuple< Types... > >::type & std::get (const ::tim::lightweight_tuple< Types... > &obj)
 
template<std::size_t N, typename... Types>
auto std::get (::tim::lightweight_tuple< Types... > &&obj) -> decltype(get< N >(std::forward<::tim::lightweight_tuple< Types... > >(obj).data()))
 

Detailed Description

This is the C++ class that bundles together components and enables operation on the components as a single entity

Definition in file lightweight_tuple.hpp.