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.
|
#include "timemory/math/fwd.hpp"
#include "timemory/utility/macros.hpp"
#include <array>
#include <chrono>
#include <ostream>
#include <tuple>
#include <utility>
#include <vector>
Go to the source code of this file.
Namespaces | |
namespace | tim |
namespace | tim::stl |
the namespace is provided to hide stl overload from global namespace but provide a method of using the namespace without a "using namespace tim;" | |
namespace | std |
STL namespace. | |
Functions | |
template<typename Tp , size_t N, typename OtherT > | |
std::array< Tp, N > & | tim::stl::operator+= (std::array< Tp, N > &lhs, OtherT &&rhs) |
template<typename Lhs , typename Rhs , typename OtherT > | |
std::pair< Lhs, Rhs > & | tim::stl::operator+= (std::pair< Lhs, Rhs > &lhs, OtherT &&rhs) |
template<typename Tp , typename... ExtraT, typename OtherT > | |
std::vector< Tp, ExtraT... > & | tim::stl::operator+= (std::vector< Tp, ExtraT... > &lhs, OtherT &&rhs) |
template<typename... Types, typename OtherT > | |
std::tuple< Types... > & | tim::stl::operator+= (std::tuple< Types... > &lhs, OtherT &&rhs) |
template<typename Tp , size_t N> | |
std::array< Tp, N > & | tim::stl::operator-= (std::array< Tp, N > &, const std::array< Tp, N > &) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > & | tim::stl::operator-= (std::pair< Lhs, Rhs > &, const std::pair< Lhs, Rhs > &) |
template<typename Tp , typename... ExtraT> | |
std::vector< Tp, ExtraT... > & | tim::stl::operator-= (std::vector< Tp, ExtraT... > &lhs, const std::vector< Tp, ExtraT... > &rhs) |
template<typename... Types> | |
std::tuple< Types... > & | tim::stl::operator-= (std::tuple< Types... > &, const std::tuple< Types... > &) |
template<typename Tp , size_t N> | |
std::array< Tp, N > & | tim::stl::operator*= (std::array< Tp, N > &, const std::array< Tp, N > &) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > & | tim::stl::operator*= (std::pair< Lhs, Rhs > &, const std::pair< Lhs, Rhs > &) |
template<typename Tp , typename... ExtraT> | |
std::vector< Tp, ExtraT... > & | tim::stl::operator*= (std::vector< Tp, ExtraT... > &lhs, const std::vector< Tp, ExtraT... > &rhs) |
template<typename... Types> | |
std::tuple< Types... > & | tim::stl::operator*= (std::tuple< Types... > &, const std::tuple< Types... > &) |
template<typename Tp , size_t N> | |
std::array< Tp, N > & | tim::stl::operator/= (std::array< Tp, N > &, const std::array< Tp, N > &) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > & | tim::stl::operator/= (std::pair< Lhs, Rhs > &, const std::pair< Lhs, Rhs > &) |
template<typename Tp , typename... ExtraT> | |
std::vector< Tp, ExtraT... > & | tim::stl::operator/= (std::vector< Tp, ExtraT... > &lhs, const std::vector< Tp, ExtraT... > &rhs) |
template<typename... Types> | |
std::tuple< Types... > & | tim::stl::operator/= (std::tuple< Types... > &, const std::tuple< Types... > &) |
template<typename Lhs , size_t N, typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
std::array< Lhs, N > & | tim::stl::operator*= (std::array< Lhs, N > &, const Rhs &) |
template<typename Lhs , typename Rhs , typename ArithT , enable_if_t< std::is_arithmetic< decay_t< ArithT > >::value, int > = 0> | |
std::pair< Lhs, Rhs > & | tim::stl::operator*= (std::pair< Lhs, Rhs > &, const ArithT &) |
template<typename Lhs , typename Rhs , typename... ExtraT, enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > > | |
std::vector< Lhs, ExtraT... > & | tim::stl::operator*= (std::vector< Lhs, ExtraT... > &lhs, const Rhs &rhs) |
template<typename... Lhs, typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
std::tuple< Lhs... > & | tim::stl::operator*= (std::tuple< Lhs... > &, const Rhs &) |
template<typename Lhs , size_t N, typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
std::array< Lhs, N > & | tim::stl::operator/= (std::array< Lhs, N > &, const Rhs &) |
template<typename Lhs , typename Rhs , typename ArithT , enable_if_t< std::is_arithmetic< decay_t< ArithT > >::value, int > = 0> | |
std::pair< Lhs, Rhs > & | tim::stl::operator/= (std::pair< Lhs, Rhs > &, const ArithT &) |
template<typename Lhs , typename Rhs , typename... ExtraT, enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > > | |
std::vector< Lhs, ExtraT... > & | tim::stl::operator/= (std::vector< Lhs, ExtraT... > &lhs, const Rhs &rhs) |
template<typename... Lhs, typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
std::tuple< Lhs... > & | tim::stl::operator/= (std::tuple< Lhs... > &, const Rhs &) |
template<typename Lhs , typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
Lhs | tim::stl::operator* (Lhs, const Rhs &) |
template<typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
std::chrono::system_clock::time_point & | tim::stl::operator/= (std::chrono::system_clock::time_point &lhs, Rhs) |
template<typename Lhs , typename Rhs , enable_if_t< std::is_arithmetic< decay_t< Rhs > >::value, int > = 0> | |
Lhs | tim::stl::operator/ (Lhs, const Rhs &) |
template<typename Tp , size_t N> | |
std::array< Tp, N > | tim::stl::operator+ (std::array< Tp, N > lhs, const std::array< Tp, N > &rhs) |
template<typename... Types> | |
std::tuple< Types... > | tim::stl::operator+ (std::tuple< Types... > lhs, const std::tuple< Types... > &rhs) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > | tim::stl::operator+ (std::pair< Lhs, Rhs > lhs, const std::pair< Lhs, Rhs > &rhs) |
template<typename Tp , typename... Extra> | |
std::vector< Tp, Extra... > | tim::stl::operator+ (std::vector< Tp, Extra... > lhs, const std::vector< Tp, Extra... > &rhs) |
template<typename Tp , size_t N> | |
std::array< Tp, N > | tim::stl::operator- (std::array< Tp, N > lhs, const std::array< Tp, N > &rhs) |
template<typename... Types> | |
std::tuple< Types... > | tim::stl::operator- (std::tuple< Types... > lhs, const std::tuple< Types... > &rhs) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > | tim::stl::operator- (std::pair< Lhs, Rhs > lhs, const std::pair< Lhs, Rhs > &rhs) |
template<typename Tp , typename... Extra> | |
std::vector< Tp, Extra... > | tim::stl::operator- (std::vector< Tp, Extra... > lhs, const std::vector< Tp, Extra... > &rhs) |
template<typename Tp , size_t N> | |
std::array< Tp, N > | tim::stl::operator* (std::array< Tp, N > lhs, const std::array< Tp, N > &rhs) |
template<typename... Types> | |
std::tuple< Types... > | tim::stl::operator* (std::tuple< Types... > lhs, const std::tuple< Types... > &rhs) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > | tim::stl::operator* (std::pair< Lhs, Rhs > lhs, const std::pair< Lhs, Rhs > &rhs) |
template<typename Tp , typename... Extra> | |
std::vector< Tp, Extra... > | tim::stl::operator* (std::vector< Tp, Extra... > lhs, const std::vector< Tp, Extra... > &rhs) |
template<typename Tp , size_t N> | |
std::array< Tp, N > | tim::stl::operator/ (std::array< Tp, N > lhs, const std::array< Tp, N > &rhs) |
template<typename... Types> | |
std::tuple< Types... > | tim::stl::operator/ (std::tuple< Types... > lhs, const std::tuple< Types... > &rhs) |
template<typename Lhs , typename Rhs > | |
std::pair< Lhs, Rhs > | tim::stl::operator/ (std::pair< Lhs, Rhs > lhs, const std::pair< Lhs, Rhs > &rhs) |
template<typename Tp , typename... Extra> | |
std::vector< Tp, Extra... > | tim::stl::operator/ (std::vector< Tp, Extra... > lhs, const std::vector< Tp, Extra... > &rhs) |
template<typename Tp > | |
tuple & | std::operator+= (tuple<> &_lhs, const Tp &) |
Provides operators on common STL structures such as <<, +=, -=, *=, /=, +, -, *, /
Definition in file stl.hpp.