ROOT  6.06/08
Reference Guide
Classes | Namespaces | Typedefs | Functions | Variables
rhysd_array_view.h File Reference
#include <cstddef>
#include <iterator>
#include <array>
#include <vector>
#include <stdexcept>
#include <memory>
#include <type_traits>
#include <initializer_list>
+ Include dependency graph for rhysd_array_view.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  std::detail::is_array_class< Array >
 
struct  std::detail::is_array_class< std::array< T, N > >
 
struct  std::detail::is_array_class< std::vector< T > >
 
struct  std::detail::is_array_class< std::initializer_list< T > >
 
struct  std::detail::indices< Indices >
 
struct  std::detail::make_indices_next< IndicesType, Next >
 
struct  std::detail::make_indices_next< indices< Indices... >, Next >
 
struct  std::detail::make_indices_next2< IndicesType, Next, Tail >
 
struct  std::detail::make_indices_next2< indices< Indices... >, Next, Tail >
 
struct  std::detail::make_indices_impl< First, Step, N, class >
 
struct  std::detail::make_indices_impl< First, Step, N, typename std::enable_if<(N==0)>::type >
 
struct  std::detail::make_indices_impl< First, Step, N, typename std::enable_if<(N==1)>::type >
 
struct  std::detail::make_indices_impl< First, Step, N, class >::type
 
struct  std::detail::make_indices_impl< First, Step, N, class >::type
 
struct  std::detail::make_indices_< First, Last, Step >
 
struct  std::check_bound_t
 
class  std::array_view< T >
 

Namespaces

 std::detail
 

Typedefs

template<size_t Start, size_t Last, size_t Step = 1>
using std::detail::make_indices = typename make_indices_< Start, Last, Step >::type
 

Functions

template<class ArrayL , class ArrayR >
constexpr bool std::detail::operator_equal_impl (ArrayL const &lhs, size_t const lhs_size, ArrayR const &rhs, size_t const rhs_size)
 
template<class T1 , class T2 >
constexpr bool std::operator== (array_view< T1 > const &lhs, array_view< T2 > const &rhs)
 
template<class T , class Array , class = typename std::enable_if< detail::is_array_class<Array>::value >::type>
constexpr bool std::operator== (array_view< T > const &lhs, Array const &rhs)
 
template<class T1 , class T2 , size_t N>
constexpr bool std::operator== (array_view< T1 > const &lhs, T2 const (&rhs)[N])
 
template<class T , class Array , class = typename std::enable_if< is_array<Array>::value >::type>
constexpr bool std::operator!= (array_view< T > const &lhs, Array const &rhs)
 
template<class Array , class T , class = typename std::enable_if< is_array<Array>::value >::type>
constexpr bool std::operator== (Array const &lhs, array_view< T > const &rhs)
 
template<class Array , class T , class = typename std::enable_if< is_array<Array>::value, Array >::type>
constexpr bool std::operator!= (Array const &lhs, array_view< T > const &rhs)
 
template<class Array , class = typename std::enable_if< detail::is_array_class<Array>::value >::type>
constexpr auto std::make_view (Array const &a) -> array_view< typename Array::value_type >
 
template<class T , size_t N>
constexpr array_view< T > std::make_view (T const (&a)[N])
 
template<class T >
constexpr array_view< T > std::make_view (T const *p, typename array_view< T >::size_type const n)
 
template<class InputIterator , class Result = array_view<typename std::iterator_traits<InputIterator>::value_type>>
constexpr Result std::make_view (InputIterator begin, InputIterator end)
 
template<class T >
constexpr array_view< T > std::make_view (std::initializer_list< T > const &l)
 

Variables

static constexpr check_bound_t std::check_bound {}
 

Detailed Description

Author
Axel Naumann axel@.nosp@m.cern.nosp@m..ch
Date
2015-09-06
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition in file rhysd_array_view.h.

Function Documentation

§ make_view() [1/5]

template<class Array , class = typename std::enable_if< detail::is_array_class<Array>::value >::type>
constexpr auto std::make_view ( Array const &  a) -> array_view<typename Array::value_type>
inline

Definition at line 507 of file rhysd_array_view.h.

Referenced by std::make_view().

§ make_view() [2/5]

template<class T , size_t N>
constexpr array_view<T> std::make_view ( T const (&)  a[N])
inline

Definition at line 515 of file rhysd_array_view.h.

§ make_view() [3/5]

template<class T >
constexpr array_view<T> std::make_view ( T const *  p,
typename array_view< T >::size_type const  n 
)
inline

Definition at line 522 of file rhysd_array_view.h.

§ make_view() [4/5]

template<class InputIterator , class Result = array_view<typename std::iterator_traits<InputIterator>::value_type>>
constexpr Result std::make_view ( InputIterator  begin,
InputIterator  end 
)
inline

Definition at line 529 of file rhysd_array_view.h.

§ make_view() [5/5]

template<class T >
constexpr array_view<T> std::make_view ( std::initializer_list< T > const &  l)
inline

Definition at line 536 of file rhysd_array_view.h.

§ operator!=() [1/2]

template<class T , class Array , class = typename std::enable_if< is_array<Array>::value >::type>
constexpr bool std::operator!= ( array_view< T > const &  lhs,
Array const &  rhs 
)
inline

Definition at line 466 of file rhysd_array_view.h.

§ operator!=() [2/2]

template<class Array , class T , class = typename std::enable_if< is_array<Array>::value, Array >::type>
constexpr bool std::operator!= ( Array const &  lhs,
array_view< T > const &  rhs 
)
inline

Definition at line 493 of file rhysd_array_view.h.

§ operator==() [1/4]

template<class T1 , class T2 >
constexpr bool std::operator== ( array_view< T1 > const &  lhs,
array_view< T2 > const &  rhs 
)
inline

Definition at line 433 of file rhysd_array_view.h.

§ operator==() [2/4]

template<class T , class Array , class = typename std::enable_if< detail::is_array_class<Array>::value >::type>
constexpr bool std::operator== ( array_view< T > const &  lhs,
Array const &  rhs 
)
inline

Definition at line 446 of file rhysd_array_view.h.

§ operator==() [3/4]

template<class T1 , class T2 , size_t N>
constexpr bool std::operator== ( array_view< T1 > const &  lhs,
T2 const (&)  rhs[N] 
)
inline

Definition at line 453 of file rhysd_array_view.h.

§ operator==() [4/4]

template<class Array , class T , class = typename std::enable_if< is_array<Array>::value >::type>
constexpr bool std::operator== ( Array const &  lhs,
array_view< T > const &  rhs 
)
inline

Definition at line 479 of file rhysd_array_view.h.

Variable Documentation

§ check_bound

constexpr check_bound_t std::check_bound {}
static

Definition at line 143 of file rhysd_array_view.h.