Classes | Namespaces | Macros | Functions
ring_span.hpp File Reference
#include <cassert>
#include <iterator>
#include <utility>
#include <algorithm>
Include dependency graph for ring_span.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  nonstd::ring_span_lite::std11::conditional< B, T, F >
 
struct  nonstd::ring_span_lite::std11::conditional< false, T, F >
 
struct  nonstd::ring_span_lite::copy_popper< T >
 
struct  nonstd::ring_span_lite::default_popper< T >
 
struct  nonstd::ring_span_lite::null_popper< T >
 
class  nonstd::ring_span_lite::detail::ring_iterator< RS, is_const >
 
class  nonstd::ring_span_lite::detail::ring_iterator< RS, is_const >
 
class  nonstd::ring_span_lite::ring_span< T, Popper >
 

Namespaces

 nonstd
 
 nonstd::ring_span_lite
 
 nonstd::ring_span_lite::detail
 
 nonstd::ring_span_lite::std11
 
 nonstd::ring_span_lite::std17
 

Macros

#define NONSTD_RING_SPAN_LITE_HPP
 
#define nsrs_BETWEEN(v, lo, hi)   ((lo) <= (v) && (v) < (hi))
 
#define nsrs_COMPILER_CLANG_VERSION   0
 
#define nsrs_COMPILER_GNUC_VERSION   0
 
#define nsrs_COMPILER_MSVC_VER   0
 
#define nsrs_COMPILER_MSVC_VERSION   0
 
#define nsrs_COMPILER_VERSION(major, minor, patch)   (10 * (10 * (major) + (minor)) + (patch))
 
#define nsrs_CONFIG_CONFIRMS_COMPILATION_ERRORS   0
 
#define nsrs_CONFIG_SELECT_RING_SPAN   (nsrs_HAVE_STD_RING_SPAN ? nsrs_RING_SPAN_STD : nsrs_RING_SPAN_NONSTD)
 
#define nsrs_CONFIG_STRICT_P0059   0
 
#define nsrs_constexpr   /*constexpr*/
 
#define nsrs_constexpr14   /*constexpr*/
 
#define nsrs_CPLUSPLUS   __cplusplus
 
#define nsrs_CPP11_100   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1600)
 
#define nsrs_CPP11_110   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1700)
 
#define nsrs_CPP11_120   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1800)
 
#define nsrs_CPP11_140   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1900)
 
#define nsrs_CPP11_90   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1500)
 
#define nsrs_CPP11_OR_GREATER   (nsrs_CPLUSPLUS >= 201103L)
 
#define nsrs_CPP11_OR_GREATER_   (nsrs_CPLUSPLUS >= 201103L)
 
#define nsrs_CPP14_000   (nsrs_CPP14_OR_GREATER)
 
#define nsrs_CPP14_OR_GREATER   (nsrs_CPLUSPLUS >= 201402L)
 
#define nsrs_CPP17_000   (nsrs_CPP17_OR_GREATER)
 
#define nsrs_CPP17_OR_GREATER   (nsrs_CPLUSPLUS >= 201703L)
 
#define nsrs_CPP20_OR_GREATER   (nsrs_CPLUSPLUS >= 202000L)
 
#define nsrs_CPP98_OR_GREATER   (nsrs_CPLUSPLUS >= 199711L)
 
#define nsrs_HAS_CPP0X   0
 
#define nsrs_HAVE_CONSTEXPR_11   nsrs_CPP11_140
 
#define nsrs_HAVE_CONSTEXPR_14   nsrs_CPP14_000
 
#define nsrs_HAVE_IS_DEFAULT   nsrs_CPP11_140
 
#define nsrs_HAVE_IS_DELETE   nsrs_CPP11_140
 
#define nsrs_HAVE_NOEXCEPT   nsrs_CPP11_140
 
#define nsrs_HAVE_NULLPTR   nsrs_CPP11_100
 
#define nsrs_HAVE_STD_RING_SPAN   0
 
#define nsrs_noexcept   /*noexcept*/
 
#define nsrs_noexcept_op(expr)   /*noexcept(expr)*/
 
#define nsrs_nullptr   NULL
 
#define nsrs_RESTORE_WARNINGS()   /*empty*/
 
#define nsrs_RING_SPAN_DEFAULT   0
 
#define nsrs_RING_SPAN_LITE_EXTENSION   (!nsrs_CONFIG_STRICT_P0059)
 
#define nsrs_RING_SPAN_NONSTD   1
 
#define nsrs_RING_SPAN_STD   2
 
#define nsrs_STRINGIFY(x)   nsrs_STRINGIFY_(x)
 
#define nsrs_STRINGIFY_(x)   #x
 
#define nsrs_USES_STD_RING_SPAN
 
#define ring_span_lite_MAJOR   0
 
#define ring_span_lite_MINOR   3
 
#define ring_span_lite_PATCH   0
 
#define ring_span_lite_VERSION
 

Functions

template<typename T >
T const & nonstd::ring_span_lite::std11::move (T const &t)
 
template<class RS , bool C>
ring_iterator< RS, Cnonstd::ring_span_lite::detail::operator+ (ring_iterator< RS, C > it, int i) nsrs_noexcept
 
template<class RS , bool C>
ring_iterator< RS, Cnonstd::ring_span_lite::detail::operator- (ring_iterator< RS, C > it, int i) nsrs_noexcept
 
template<class T , class Popper >
void nonstd::ring_span_lite::swap (ring_span< T, Popper > &lhs, ring_span< T, Popper > &rhs) nsrs_noexcept_op(nsrs_noexcept_op(lhs.swap(rhs)))
 

Macro Definition Documentation

◆ NONSTD_RING_SPAN_LITE_HPP

#define NONSTD_RING_SPAN_LITE_HPP

Definition at line 13 of file ring_span.hpp.

◆ nsrs_BETWEEN

#define nsrs_BETWEEN (   v,
  lo,
  hi 
)    ((lo) <= (v) && (v) < (hi))

Definition at line 157 of file ring_span.hpp.

◆ nsrs_COMPILER_CLANG_VERSION

#define nsrs_COMPILER_CLANG_VERSION   0

Definition at line 117 of file ring_span.hpp.

◆ nsrs_COMPILER_GNUC_VERSION

#define nsrs_COMPILER_GNUC_VERSION   0

Definition at line 124 of file ring_span.hpp.

◆ nsrs_COMPILER_MSVC_VER

#define nsrs_COMPILER_MSVC_VER   0

Definition at line 106 of file ring_span.hpp.

◆ nsrs_COMPILER_MSVC_VERSION

#define nsrs_COMPILER_MSVC_VERSION   0

Definition at line 107 of file ring_span.hpp.

◆ nsrs_COMPILER_VERSION

#define nsrs_COMPILER_VERSION (   major,
  minor,
  patch 
)    (10 * (10 * (major) + (minor)) + (patch))

Definition at line 110 of file ring_span.hpp.

◆ nsrs_CONFIG_CONFIRMS_COMPILATION_ERRORS

#define nsrs_CONFIG_CONFIRMS_COMPILATION_ERRORS   0

Definition at line 44 of file ring_span.hpp.

◆ nsrs_CONFIG_SELECT_RING_SPAN

#define nsrs_CONFIG_SELECT_RING_SPAN   (nsrs_HAVE_STD_RING_SPAN ? nsrs_RING_SPAN_STD : nsrs_RING_SPAN_NONSTD)

Definition at line 33 of file ring_span.hpp.

◆ nsrs_CONFIG_STRICT_P0059

#define nsrs_CONFIG_STRICT_P0059   0

Definition at line 38 of file ring_span.hpp.

◆ nsrs_constexpr

#define nsrs_constexpr   /*constexpr*/

Definition at line 218 of file ring_span.hpp.

◆ nsrs_constexpr14

#define nsrs_constexpr14   /*constexpr*/

Definition at line 224 of file ring_span.hpp.

◆ nsrs_CPLUSPLUS

#define nsrs_CPLUSPLUS   __cplusplus

Definition at line 54 of file ring_span.hpp.

◆ nsrs_CPP11_100

#define nsrs_CPP11_100   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1600)

Definition at line 146 of file ring_span.hpp.

◆ nsrs_CPP11_110

#define nsrs_CPP11_110   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1700)

Definition at line 147 of file ring_span.hpp.

◆ nsrs_CPP11_120

#define nsrs_CPP11_120   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1800)

Definition at line 148 of file ring_span.hpp.

◆ nsrs_CPP11_140

#define nsrs_CPP11_140   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1900)

Definition at line 149 of file ring_span.hpp.

◆ nsrs_CPP11_90

#define nsrs_CPP11_90   (nsrs_CPP11_OR_GREATER_ || nsrs_COMPILER_MSVC_VER >= 1500)

Definition at line 145 of file ring_span.hpp.

◆ nsrs_CPP11_OR_GREATER

#define nsrs_CPP11_OR_GREATER   (nsrs_CPLUSPLUS >= 201103L)

Definition at line 59 of file ring_span.hpp.

◆ nsrs_CPP11_OR_GREATER_

#define nsrs_CPP11_OR_GREATER_   (nsrs_CPLUSPLUS >= 201103L)

Definition at line 60 of file ring_span.hpp.

◆ nsrs_CPP14_000

#define nsrs_CPP14_000   (nsrs_CPP14_OR_GREATER)

Definition at line 151 of file ring_span.hpp.

◆ nsrs_CPP14_OR_GREATER

#define nsrs_CPP14_OR_GREATER   (nsrs_CPLUSPLUS >= 201402L)

Definition at line 61 of file ring_span.hpp.

◆ nsrs_CPP17_000

#define nsrs_CPP17_000   (nsrs_CPP17_OR_GREATER)

Definition at line 152 of file ring_span.hpp.

◆ nsrs_CPP17_OR_GREATER

#define nsrs_CPP17_OR_GREATER   (nsrs_CPLUSPLUS >= 201703L)

Definition at line 62 of file ring_span.hpp.

◆ nsrs_CPP20_OR_GREATER

#define nsrs_CPP20_OR_GREATER   (nsrs_CPLUSPLUS >= 202000L)

Definition at line 63 of file ring_span.hpp.

◆ nsrs_CPP98_OR_GREATER

#define nsrs_CPP98_OR_GREATER   (nsrs_CPLUSPLUS >= 199711L)

Definition at line 58 of file ring_span.hpp.

◆ nsrs_HAS_CPP0X

#define nsrs_HAS_CPP0X   0

Definition at line 135 of file ring_span.hpp.

◆ nsrs_HAVE_CONSTEXPR_11

#define nsrs_HAVE_CONSTEXPR_11   nsrs_CPP11_140

Definition at line 161 of file ring_span.hpp.

◆ nsrs_HAVE_CONSTEXPR_14

#define nsrs_HAVE_CONSTEXPR_14   nsrs_CPP14_000

Definition at line 169 of file ring_span.hpp.

◆ nsrs_HAVE_IS_DEFAULT

#define nsrs_HAVE_IS_DEFAULT   nsrs_CPP11_140

Definition at line 162 of file ring_span.hpp.

◆ nsrs_HAVE_IS_DELETE

#define nsrs_HAVE_IS_DELETE   nsrs_CPP11_140

Definition at line 163 of file ring_span.hpp.

◆ nsrs_HAVE_NOEXCEPT

#define nsrs_HAVE_NOEXCEPT   nsrs_CPP11_140

Definition at line 164 of file ring_span.hpp.

◆ nsrs_HAVE_NULLPTR

#define nsrs_HAVE_NULLPTR   nsrs_CPP11_100

Definition at line 165 of file ring_span.hpp.

◆ nsrs_HAVE_STD_RING_SPAN

#define nsrs_HAVE_STD_RING_SPAN   0

Definition at line 67 of file ring_span.hpp.

◆ nsrs_noexcept

#define nsrs_noexcept   /*noexcept*/

Definition at line 231 of file ring_span.hpp.

◆ nsrs_noexcept_op

#define nsrs_noexcept_op (   expr)    /*noexcept(expr)*/

Definition at line 232 of file ring_span.hpp.

◆ nsrs_nullptr

#define nsrs_nullptr   NULL

Definition at line 238 of file ring_span.hpp.

◆ nsrs_RESTORE_WARNINGS

#define nsrs_RESTORE_WARNINGS ( )    /*empty*/

Definition at line 210 of file ring_span.hpp.

◆ nsrs_RING_SPAN_DEFAULT

#define nsrs_RING_SPAN_DEFAULT   0

Definition at line 28 of file ring_span.hpp.

◆ nsrs_RING_SPAN_LITE_EXTENSION

#define nsrs_RING_SPAN_LITE_EXTENSION   (!nsrs_CONFIG_STRICT_P0059)

Definition at line 41 of file ring_span.hpp.

◆ nsrs_RING_SPAN_NONSTD

#define nsrs_RING_SPAN_NONSTD   1

Definition at line 29 of file ring_span.hpp.

◆ nsrs_RING_SPAN_STD

#define nsrs_RING_SPAN_STD   2

Definition at line 30 of file ring_span.hpp.

◆ nsrs_STRINGIFY

#define nsrs_STRINGIFY (   x)    nsrs_STRINGIFY_(x)

Definition at line 23 of file ring_span.hpp.

◆ nsrs_STRINGIFY_

#define nsrs_STRINGIFY_ (   x)    #x

Definition at line 24 of file ring_span.hpp.

◆ nsrs_USES_STD_RING_SPAN

#define nsrs_USES_STD_RING_SPAN
Value:

Definition at line 79 of file ring_span.hpp.

◆ ring_span_lite_MAJOR

#define ring_span_lite_MAJOR   0

Definition at line 15 of file ring_span.hpp.

◆ ring_span_lite_MINOR

#define ring_span_lite_MINOR   3

Definition at line 16 of file ring_span.hpp.

◆ ring_span_lite_PATCH

#define ring_span_lite_PATCH   0

Definition at line 17 of file ring_span.hpp.

◆ ring_span_lite_VERSION

#define ring_span_lite_VERSION
nsrs_CONFIG_SELECT_RING_SPAN
#define nsrs_CONFIG_SELECT_RING_SPAN
Definition: ring_span.hpp:33
ring_span_lite_PATCH
#define ring_span_lite_PATCH
Definition: ring_span.hpp:17
nsrs_STRINGIFY
#define nsrs_STRINGIFY(x)
Definition: ring_span.hpp:23
ring_span_lite_MAJOR
#define ring_span_lite_MAJOR
Definition: ring_span.hpp:15
ring_span_lite_MINOR
#define ring_span_lite_MINOR
Definition: ring_span.hpp:16
nsrs_RING_SPAN_STD
#define nsrs_RING_SPAN_STD
Definition: ring_span.hpp:30
nsrs_RING_SPAN_DEFAULT
#define nsrs_RING_SPAN_DEFAULT
Definition: ring_span.hpp:28


plotjuggler
Author(s): Davide Faconti
autogenerated on Sun Aug 11 2024 02:24:28