The Battle for Wesnoth  1.19.10+dev
Classes | Namespaces | Typedefs | Functions | Variables
span.hpp File Reference
#include <boost/version.hpp>
#include <array>
#include <cstddef>
#include <initializer_list>
#include <iterator>
#include <type_traits>
Include dependency graph for span.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  boost::detail::span_convertible< U, T >
 
struct  boost::detail::span_capacity< E, N >
 
struct  boost::detail::span_compatible< T, E, U, N >
 
struct  boost::detail::span_is_span< class >
 
struct  boost::detail::span_is_span< boost::span< T, E > >
 
struct  boost::detail::span_is_array< T >
 
struct  boost::detail::span_is_array< std::array< T, N > >
 
struct  boost::detail::span_data< class, class >
 
struct  boost::detail::span_data< T, typename std::enable_if< std::is_pointer< span_ptr< T > >::value >::type >
 
struct  boost::detail::span_has_data< class, class, class >
 
struct  boost::detail::span_has_data< R, T, typename std::enable_if< span_convertible< typename span_data< R >::type, T >::value >::type >
 
struct  boost::detail::span_has_size< class, class >
 
struct  boost::detail::span_has_size< R, typename std::enable_if< std::is_convertible< decltype(std::declval< R & >().size()), std::size_t >::value >::type >
 
struct  boost::detail::span_is_range< R, T >
 
struct  boost::detail::span_implicit< E, N >
 
struct  boost::detail::span_copyable< T, E, U, N >
 
struct  boost::detail::span_sub< E, O >
 
struct  boost::detail::span_store< T, E >
 
struct  boost::detail::span_store< T, boost::dynamic_extent >
 
struct  boost::detail::span_bytes< T, E >
 
struct  boost::detail::span_bytes< T, boost::dynamic_extent >
 
class  boost::span< T, E >
 

Namespaces

 boost
 
 boost::detail
 
 utils
 

Typedefs

template<class T >
using boost::detail::span_uncvref = typename std::remove_cv< typename std::remove_reference< T >::type >::type
 
template<class T >
using boost::detail::span_ptr = decltype(boost::data(std::declval< T & >()))
 

Functions

template<class C >
constexpr auto boost::data (C &c) noexcept(noexcept(c.data())) -> decltype(c.data())
 
template<class C >
constexpr auto boost::data (const C &c) noexcept(noexcept(c.data())) -> decltype(c.data())
 
template<class T , std::size_t N>
constexpr T * boost::data (T(&a)[N]) noexcept
 
template<class T >
constexpr const T * boost::data (std::initializer_list< T > l) noexcept
 

Variables

constexpr std::size_t boost::dynamic_extent = static_cast<std::size_t>(-1)