mf
Media Framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Namespaces | Functions | Variables
elem_tuple.h File Reference
#include <cstddef>
#include <cstdint>
#include <utility>
#include <type_traits>
#include "elem.h"

Go to the source code of this file.

Classes

class  mf::elem_tuple< First_elem, Other_elems >
 Heterogeneous tuple of items. More...
 
class  mf::elem_tuple< First_elem >
 
struct  mf::elem_traits< elem_tuple< Elems...> >
 Elem traits specialization of elem_tuple. More...
 

Namespaces

 mf
 

Functions

template<std::size_t Index, typename First_elem , typename... Other_elems>
const auto & mf::get (const elem_tuple< First_elem, Other_elems...> &tup)
 Get element at index Index in elem_tuple tup. More...
 
template<std::size_t Index, typename First_elem , typename... Other_elems>
auto & mf::get (elem_tuple< First_elem, Other_elems...> &tup)
 
template<typename... Elems>
elem_tuple< Elems...> mf::make_elem_tuple (const Elems &...elems)
 Make elem_tuple with elements elems. More...
 

Variables

template<typename T , typename Tuple >
constexpr std::ptrdiff_t mf::elem_tuple_index = -1
 Index of first element of type T in elem_tuple type Tuple. More...
 
template<typename T , typename First_elem , typename... Other_elems>
constexpr std::ptrdiff_t mf::elem_tuple_index< T, elem_tuple< First_elem, Other_elems...> > = 1 + elem_tuple_index<T, elem_tuple<Other_elems...>>
 
template<typename T , typename... Other_elems>
constexpr std::ptrdiff_t mf::elem_tuple_index< T, elem_tuple< T, Other_elems...> > = 0
 
template<std::size_t Index, typename Tuple >
constexpr std::ptrdiff_t mf::elem_tuple_offset = -1
 Offset in bytes of element at index Index in elem_tuple type Tuple. More...
 
template<std::size_t Index, typename First_elem , typename... Other_elems>
constexpr std::ptrdiff_t mf::elem_tuple_offset< Index, elem_tuple< First_elem, Other_elems...> >