Audacity 3.2.0
Classes | Namespaces | Typedefs | Functions | Variables
Tuple.h File Reference

Extraction of sub-tuples of std::tuple (or other tuple-like classes) More...

#include <cstddef>
#include <tuple>
#include <type_traits>
#include <utility>
Include dependency graph for Tuple.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Tuple::is_tuple< T >
 Type test metapredicate, for specializations of std::tuple only. More...
 
struct  Tuple::is_tuple< std::tuple< Types... > >
 
struct  Tuple::is_tuple_like< T, typename >
 Type test metapredicate, for more general tuple-like types. More...
 
struct  Tuple::is_tuple_like< T, std::void_t< decltype(std::tuple_size< T >{})> >
 
struct  Tuple::detail::increment_each< std::index_sequence< Indices... > >
 
struct  Tuple::detail::each_less< std::index_sequence< Indices1... >, std::index_sequence< Indices2... > >
 
struct  Tuple::detail::increasing<>
 
struct  Tuple::detail::increasing< Index >
 
struct  Tuple::detail::increasing< Index, Indices... >
 

Namespaces

namespace  Tuple
 
namespace  Tuple::detail
 

Typedefs

template<typename Tuple >
using Tuple::All_t = decltype(All(std::declval< Tuple >()))
 Type of projection of all of a tuple. More...
 
template<typename Tuple >
using Tuple::ForwardAll_t = decltype(ForwardAll(std::declval< Tuple >()))
 Type of forwarding references to all members of a tuple. More...
 
template<typename Tuple >
using Tuple::Next_t = decltype(Next(std::declval< Tuple >()))
 Type of projection of the tail of a tuple. More...
 
template<typename Tuple >
using Tuple::ForwardNext_t = decltype(ForwardNext(std::declval< Tuple >()))
 Type of forwarding references to tail members of a tuple. More...
 

Functions

template<typename Tuple >
constexpr bool Tuple::Empty (const Tuple &tuple)
 
constexpr size_t Tuple::detail::npos (-1)
 
template<size_t... Indices, typename Tuple >
auto Tuple::Projection (const std::index_sequence< Indices... > &, Tuple &&tuple)
 Destructures a std::index_sequence argument. More...
 
template<size_t... Indices, typename Tuple >
constexpr auto Tuple::ForwardingProjection (const std::index_sequence< Indices... > &, Tuple &&tuple)
 Destructures a std::index_sequence argument. More...
 
template<typename Tuple >
auto Tuple::All (Tuple &&tuple)
 Projection of all of a tuple. More...
 
template<typename Tuple >
auto Tuple::ForwardAll (Tuple &&tuple)
 Forwarding of all of a tuple. More...
 
template<typename Tuple , typename Decayed = std::decay_t<Tuple>, auto Length = std::tuple_size_v<Decayed>, typename sfinae = std::enable_if_t<(Length > 0)>>
auto Tuple::Next (Tuple &&tuple)
 Projection of the tail of a tuple. More...
 
template<typename Tuple , typename Decayed = std::decay_t<Tuple>, auto Length = std::tuple_size_v<Decayed>, typename sfinae = std::enable_if_t<(Length > 0)>>
auto Tuple::ForwardNext (Tuple &&tuple)
 Forwarding of the tail of a tuple. More...
 

Variables

template<typename T >
static constexpr auto Tuple::is_tuple_v = is_tuple<T>::value
 
template<typename T >
static constexpr auto Tuple::is_tuple_like_v
 
template<typename Tuple >
constexpr bool Tuple::Empty_v
 
template<size_t... Indices>
constexpr auto Tuple::Project
 Return a tuple of values initialized from a subsequence of a tuple. More...
 
template<size_t... Indices>
constexpr auto Tuple::ForwardProject
 Forwarding of a subsequence of a tuple. More...
 

Detailed Description

Extraction of sub-tuples of std::tuple (or other tuple-like classes)


Audacity: A Digital Audio Editor

Paul Licameli

Definition in file Tuple.h.