NS-3 based Named Data Networking (NDN) simulator
ndnSIM 2.5: NDN, CCN, CCNx, content centric networks
API Documentation
span-lite.hpp File Reference
#include <algorithm>
#include <vector>
Include dependency graph for span-lite.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  nonstd::span_lite::span< T, Extent >
 
struct  nonstd::span_lite::with_container_t
 
struct  nonstd::span_lite::std11::remove_const< T >
 
struct  nonstd::span_lite::std11::remove_const< T const >
 
struct  nonstd::span_lite::std11::remove_volatile< T >
 
struct  nonstd::span_lite::std11::remove_volatile< T volatile >
 
struct  nonstd::span_lite::std11::remove_cv< T >
 
struct  nonstd::span_lite::std11::integral_constant< T, v >
 
struct  nonstd::span_lite::std11::is_same< T, U >
 
struct  nonstd::span_lite::std11::is_same< T, T >
 
struct  nonstd::span_lite::std11::is_signed< T >
 
struct  nonstd::span_lite::std11::is_signed< signed char >
 
struct  nonstd::span_lite::std11::is_signed< signed int >
 
struct  nonstd::span_lite::std11::is_signed< signed long >
 
struct  nonstd::span_lite::std17::bool_constant< v >
 
struct  nonstd::span_lite::detail::enabler
 
class  nonstd::span_lite::span< T, Extent >
 

Namespaces

 nonstd
 
 nonstd::span_lite
 
 nonstd::span_lite::std11
 
 nonstd::span_lite::std17
 
 nonstd::span_lite::std20
 
 nonstd::span_lite::detail
 

Macros

#define span_lite_MAJOR   0
 
#define span_lite_MINOR   10
 
#define span_lite_PATCH   3
 
#define span_lite_VERSION   span_STRINGIFY(span_lite_MAJOR) "." span_STRINGIFY(span_lite_MINOR) "." span_STRINGIFY(span_lite_PATCH)
 
#define span_STRINGIFY( x)   span_STRINGIFY_( x )
 
#define span_STRINGIFY_(x)   #x
 
#define span_SPAN_DEFAULT   0
 
#define span_SPAN_NONSTD   1
 
#define span_SPAN_STD   2
 
#define span_HAVE_TWEAK_HEADER   0
 
#define span_HAVE(feature)   ( span_HAVE_##feature )
 
#define span_CONFIG_SELECT_SPAN   ( span_HAVE_STD_SPAN ? span_SPAN_STD : span_SPAN_NONSTD )
 
#define span_CONFIG_EXTENT_TYPE   std::size_t
 
#define span_CONFIG_SIZE_TYPE   std::size_t
 
#define span_FEATURE_WITH_INITIALIZER_LIST_P2447   0
 
#define span_FEATURE_WITH_CONTAINER   0
 
#define span_FEATURE_WITH_CONTAINER_TO_STD   0
 
#define span_FEATURE_CONSTRUCTION_FROM_STDARRAY_ELEMENT_TYPE   0
 
#define span_FEATURE_MEMBER_AT   0
 
#define span_FEATURE_MEMBER_BACK_FRONT   1
 
#define span_FEATURE_MEMBER_CALL_OPERATOR   0
 
#define span_FEATURE_MEMBER_SWAP   0
 
#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB   0
 
#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_SPAN   0
 
#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_CONTAINER   0
 
#define span_FEATURE_COMPARISON   0
 
#define span_FEATURE_SAME   0
 
#define span_FEATURE_MAKE_SPAN   0
 
#define span_FEATURE_MAKE_SPAN_TO_STD   0
 
#define span_FEATURE_BYTE_SPAN   0
 
#define span_CONFIG_NO_EXCEPTIONS   1
 
#define span_CONFIG_CONTRACT_VIOLATION_THROWS   0
 
#define span_CONFIG_CONTRACT_VIOLATION_TERMINATES   1
 
#define span_CONFIG_CONTRACT_LEVEL_MASK   0x11
 
#define span_CONFIG_CONTRACT_VIOLATION_THROWS_V   span_CONFIG_CONTRACT_VIOLATION_THROWS
 
#define span_CPLUSPLUS   __cplusplus
 
#define span_CPP98_OR_GREATER   ( span_CPLUSPLUS >= 199711L )
 
#define span_CPP11_OR_GREATER   ( span_CPLUSPLUS >= 201103L )
 
#define span_CPP14_OR_GREATER   ( span_CPLUSPLUS >= 201402L )
 
#define span_CPP17_OR_GREATER   ( span_CPLUSPLUS >= 201703L )
 
#define span_CPP20_OR_GREATER   ( span_CPLUSPLUS >= 202000L )
 
#define span_CPLUSPLUS_V   ( span_CPLUSPLUS / 100 - (span_CPLUSPLUS > 200000 ? 2000 : 1994) )
 
#define span_IN_STD(v)   ( ((v) == 98 ? 3 : (v)) >= span_CPLUSPLUS_V )
 
#define span_CONFIG( feature)   ( span_CONFIG_##feature )
 
#define span_FEATURE( feature)   ( span_FEATURE_##feature )
 
#define span_FEATURE_TO_STD(feature)   ( span_IN_STD( span_FEATURE( feature##_TO_STD ) ) )
 
#define span_HAVE_STD_SPAN   0
 
#define span_USES_STD_SPAN   ( (span_CONFIG_SELECT_SPAN == span_SPAN_STD) || ((span_CONFIG_SELECT_SPAN == span_SPAN_DEFAULT) && span_HAVE_STD_SPAN) )
 
#define span_COMPILER_MSVC_VER   0
 
#define span_COMPILER_MSVC_VERSION   0
 
#define span_COMPILER_VERSION(major, minor, patch)   ( 10 * ( 10 * (major) + (minor) ) + (patch) )
 
#define span_COMPILER_CLANG_VERSION   0
 
#define span_COMPILER_GNUC_VERSION   0
 
#define span_BETWEEN(v, lo, hi)   ( (lo) <= (v) && (v) < (hi) )
 
#define span_RESTORE_WARNINGS()   /*empty*/
 
#define span_HAS_CPP0X   0
 
#define span_CPP11_80   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1400)
 
#define span_CPP11_90   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1500)
 
#define span_CPP11_100   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1600)
 
#define span_CPP11_110   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1700)
 
#define span_CPP11_120   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1800)
 
#define span_CPP11_140   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1900)
 
#define span_CPP14_000   (span_CPP14_OR_GREATER)
 
#define span_CPP14_120   (span_CPP14_OR_GREATER || span_COMPILER_MSVC_VER >= 1800)
 
#define span_CPP14_140   (span_CPP14_OR_GREATER || span_COMPILER_MSVC_VER >= 1900)
 
#define span_CPP17_000   (span_CPP17_OR_GREATER)
 
#define span_HAVE_ALIAS_TEMPLATE   span_CPP11_140
 
#define span_HAVE_AUTO   span_CPP11_100
 
#define span_HAVE_CONSTEXPR_11   span_CPP11_140
 
#define span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG   span_CPP11_120
 
#define span_HAVE_EXPLICIT_CONVERSION   span_CPP11_140
 
#define span_HAVE_INITIALIZER_LIST   span_CPP11_120
 
#define span_HAVE_IS_DEFAULT   span_CPP11_140
 
#define span_HAVE_IS_DELETE   span_CPP11_140
 
#define span_HAVE_NOEXCEPT   span_CPP11_140
 
#define span_HAVE_NULLPTR   span_CPP11_100
 
#define span_HAVE_STATIC_ASSERT   span_CPP11_100
 
#define span_HAVE_CONSTEXPR_14   span_CPP14_000
 
#define span_HAVE_DEPRECATED   span_CPP17_000
 
#define span_HAVE_NODISCARD   span_CPP17_000
 
#define span_HAVE_NORETURN   span_CPP17_000
 
#define span_HAVE_DEDUCTION_GUIDES   (span_CPP17_OR_GREATER && ! span_BETWEEN( span_COMPILER_MSVC_VER, 1, 1913 ))
 
#define span_HAVE_ADDRESSOF   span_CPP17_000
 
#define span_HAVE_ARRAY   span_CPP11_110
 
#define span_HAVE_BYTE   span_CPP17_000
 
#define span_HAVE_CONDITIONAL   span_CPP11_120
 
#define span_HAVE_CONTAINER_DATA_METHOD   (span_CPP11_140 || ( span_COMPILER_MSVC_VER >= 1500 && span_HAS_CPP0X ))
 
#define span_HAVE_DATA   span_CPP17_000
 
#define span_HAVE_LONGLONG   span_CPP11_80
 
#define span_HAVE_REMOVE_CONST   span_CPP11_110
 
#define span_HAVE_SNPRINTF   span_CPP11_140
 
#define span_HAVE_STRUCT_BINDING   span_CPP11_120
 
#define span_HAVE_TYPE_TRAITS   span_CPP11_90
 
#define span_HAVE_NONSTD_BYTE   0
 
#define span_ADDRESSOF(x)   (&x)
 
#define span_constexpr   /*span_constexpr*/
 
#define span_constexpr14   /*span_constexpr*/
 
#define span_explicit   /*explicit*/
 
#define span_is_delete
 
#define span_is_delete_access   private
 
#define span_noexcept   /*noexcept*/
 
#define span_nullptr   NULL
 
#define span_deprecated(msg)   /*[[deprecated]]*/
 
#define span_nodiscard   /*[[nodiscard]]*/
 
#define span_noreturn   /*[[noreturn]]*/
 
#define span_HAVE_CONSTRAINED_SPAN_CONTAINER_CTOR   span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG
 
#define span_HAVE_ITERATOR_CTOR   span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG
 
#define span_ELIDE_CONTRACT_EXPECTS   ( 0 == ( span_CONFIG_CONTRACT_LEVEL_MASK & 0x01 ) )
 
#define span_ELIDE_CONTRACT_ENSURES   ( 0 == ( span_CONFIG_CONTRACT_LEVEL_MASK & 0x10 ) )
 
#define span_constexpr_exp   span_constexpr14
 
#define span_EXPECTS(cond)   span_CONTRACT_CHECK( "Precondition", cond )
 
#define span_constexpr_ens   span_constexpr14
 
#define span_ENSURES(cond)   span_CONTRACT_CHECK( "Postcondition", cond )
 
#define span_CONTRACT_CHECK(type, cond)
 
#define span_LOCATION(file, line)   file "(" span_STRINGIFY( line ) ")"
 
#define span_REQUIRES_0(VA)   /*empty*/
 
#define span_REQUIRES_T(VA)   /*empty*/
 
#define span_REQUIRES_R(R, VA)   R
 
#define span_REQUIRES_A(VA)   /*empty*/
 
#define span_sizeof(T)   static_cast<extent_t>( sizeof(T) )
 

Typedefs

typedef span_CONFIG_EXTENT_TYPE nonstd::span_lite::extent_t
 
typedef span_CONFIG_SIZE_TYPE nonstd::span_lite::size_t
 
typedef integral_constant< bool, true > nonstd::span_lite::std11::true_type
 
typedef integral_constant< bool, false > nonstd::span_lite::std11::false_type
 

Functions

template<typename T >
span_constexpr bool nonstd::span_lite::detail::is_positive (T x)
 
span_noreturn void nonstd::span_lite::detail::report_contract_violation (char const *) span_noexcept
 
template<class T >
span_constexpr size_t nonstd::span_lite::to_size (T size)
 
template<class T , extent_t Extent>
span_constexpr std::size_t nonstd::span_lite::size (span< T, Extent > const &spn)
 
template<class T , extent_t Extent>
span_constexpr std::ptrdiff_t nonstd::span_lite::ssize (span< T, Extent > const &spn)
 

Variables

span_constexpr const extent_t nonstd::span_lite::dynamic_extent = static_cast<extent_t>( -1 )
 
const span_constexpr with_container_t nonstd::span_lite::with_container
 

Macro Definition Documentation

◆ span_lite_MAJOR

#define span_lite_MAJOR   0

Definition at line 14 of file span-lite.hpp.

◆ span_lite_MINOR

#define span_lite_MINOR   10

Definition at line 15 of file span-lite.hpp.

◆ span_lite_PATCH

#define span_lite_PATCH   3

Definition at line 16 of file span-lite.hpp.

◆ span_lite_VERSION

Definition at line 18 of file span-lite.hpp.

◆ span_STRINGIFY

#define span_STRINGIFY (   x)    span_STRINGIFY_( x )

Definition at line 20 of file span-lite.hpp.

◆ span_STRINGIFY_

#define span_STRINGIFY_ (   x)    #x

Definition at line 21 of file span-lite.hpp.

◆ span_SPAN_DEFAULT

#define span_SPAN_DEFAULT   0

Definition at line 25 of file span-lite.hpp.

◆ span_SPAN_NONSTD

#define span_SPAN_NONSTD   1

Definition at line 26 of file span-lite.hpp.

◆ span_SPAN_STD

#define span_SPAN_STD   2

Definition at line 27 of file span-lite.hpp.

◆ span_HAVE_TWEAK_HEADER

#define span_HAVE_TWEAK_HEADER   0

Definition at line 37 of file span-lite.hpp.

◆ span_HAVE

#define span_HAVE (   feature)    ( span_HAVE_##feature )

Definition at line 43 of file span-lite.hpp.

◆ span_CONFIG_SELECT_SPAN

#define span_CONFIG_SELECT_SPAN   ( span_HAVE_STD_SPAN ? span_SPAN_STD : span_SPAN_NONSTD )

Definition at line 46 of file span-lite.hpp.

◆ span_CONFIG_EXTENT_TYPE

#define span_CONFIG_EXTENT_TYPE   std::size_t

Definition at line 50 of file span-lite.hpp.

Referenced by nonstd::span_lite::ssize().

◆ span_CONFIG_SIZE_TYPE

#define span_CONFIG_SIZE_TYPE   std::size_t

Definition at line 54 of file span-lite.hpp.

◆ span_FEATURE_WITH_INITIALIZER_LIST_P2447

#define span_FEATURE_WITH_INITIALIZER_LIST_P2447   0

Definition at line 64 of file span-lite.hpp.

◆ span_FEATURE_WITH_CONTAINER

#define span_FEATURE_WITH_CONTAINER   0

Definition at line 71 of file span-lite.hpp.

◆ span_FEATURE_WITH_CONTAINER_TO_STD

#define span_FEATURE_WITH_CONTAINER_TO_STD   0

Definition at line 72 of file span-lite.hpp.

◆ span_FEATURE_CONSTRUCTION_FROM_STDARRAY_ELEMENT_TYPE

#define span_FEATURE_CONSTRUCTION_FROM_STDARRAY_ELEMENT_TYPE   0

Definition at line 77 of file span-lite.hpp.

◆ span_FEATURE_MEMBER_AT

#define span_FEATURE_MEMBER_AT   0

Definition at line 81 of file span-lite.hpp.

◆ span_FEATURE_MEMBER_BACK_FRONT

#define span_FEATURE_MEMBER_BACK_FRONT   1

Definition at line 85 of file span-lite.hpp.

◆ span_FEATURE_MEMBER_CALL_OPERATOR

#define span_FEATURE_MEMBER_CALL_OPERATOR   0

Definition at line 89 of file span-lite.hpp.

◆ span_FEATURE_MEMBER_SWAP

#define span_FEATURE_MEMBER_SWAP   0

Definition at line 93 of file span-lite.hpp.

◆ span_FEATURE_NON_MEMBER_FIRST_LAST_SUB

#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB   0

Definition at line 97 of file span-lite.hpp.

◆ span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_SPAN

#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_SPAN   0

Definition at line 104 of file span-lite.hpp.

◆ span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_CONTAINER

#define span_FEATURE_NON_MEMBER_FIRST_LAST_SUB_CONTAINER   0

Definition at line 108 of file span-lite.hpp.

◆ span_FEATURE_COMPARISON

#define span_FEATURE_COMPARISON   0

Definition at line 112 of file span-lite.hpp.

◆ span_FEATURE_SAME

#define span_FEATURE_SAME   0

Definition at line 116 of file span-lite.hpp.

◆ span_FEATURE_MAKE_SPAN

#define span_FEATURE_MAKE_SPAN   0

Definition at line 127 of file span-lite.hpp.

◆ span_FEATURE_MAKE_SPAN_TO_STD

#define span_FEATURE_MAKE_SPAN_TO_STD   0

Definition at line 128 of file span-lite.hpp.

◆ span_FEATURE_BYTE_SPAN

#define span_FEATURE_BYTE_SPAN   0

Definition at line 133 of file span-lite.hpp.

◆ span_CONFIG_NO_EXCEPTIONS

#define span_CONFIG_NO_EXCEPTIONS   1

Definition at line 145 of file span-lite.hpp.

◆ span_CONFIG_CONTRACT_VIOLATION_THROWS

#define span_CONFIG_CONTRACT_VIOLATION_THROWS   0

Definition at line 148 of file span-lite.hpp.

◆ span_CONFIG_CONTRACT_VIOLATION_TERMINATES

#define span_CONFIG_CONTRACT_VIOLATION_TERMINATES   1

Definition at line 149 of file span-lite.hpp.

◆ span_CONFIG_CONTRACT_LEVEL_MASK

#define span_CONFIG_CONTRACT_LEVEL_MASK   0x11

Definition at line 164 of file span-lite.hpp.

◆ span_CONFIG_CONTRACT_VIOLATION_THROWS_V

#define span_CONFIG_CONTRACT_VIOLATION_THROWS_V   span_CONFIG_CONTRACT_VIOLATION_THROWS

Definition at line 168 of file span-lite.hpp.

◆ span_CPLUSPLUS

#define span_CPLUSPLUS   __cplusplus

Definition at line 185 of file span-lite.hpp.

◆ span_CPP98_OR_GREATER

#define span_CPP98_OR_GREATER   ( span_CPLUSPLUS >= 199711L )

Definition at line 189 of file span-lite.hpp.

◆ span_CPP11_OR_GREATER

#define span_CPP11_OR_GREATER   ( span_CPLUSPLUS >= 201103L )

Definition at line 190 of file span-lite.hpp.

◆ span_CPP14_OR_GREATER

#define span_CPP14_OR_GREATER   ( span_CPLUSPLUS >= 201402L )

Definition at line 191 of file span-lite.hpp.

◆ span_CPP17_OR_GREATER

#define span_CPP17_OR_GREATER   ( span_CPLUSPLUS >= 201703L )

Definition at line 192 of file span-lite.hpp.

◆ span_CPP20_OR_GREATER

#define span_CPP20_OR_GREATER   ( span_CPLUSPLUS >= 202000L )

Definition at line 193 of file span-lite.hpp.

◆ span_CPLUSPLUS_V

#define span_CPLUSPLUS_V   ( span_CPLUSPLUS / 100 - (span_CPLUSPLUS > 200000 ? 2000 : 1994) )

Definition at line 197 of file span-lite.hpp.

◆ span_IN_STD

#define span_IN_STD (   v)    ( ((v) == 98 ? 3 : (v)) >= span_CPLUSPLUS_V )

Definition at line 199 of file span-lite.hpp.

◆ span_CONFIG

#define span_CONFIG (   feature)    ( span_CONFIG_##feature )

Definition at line 201 of file span-lite.hpp.

◆ span_FEATURE

#define span_FEATURE (   feature)    ( span_FEATURE_##feature )

Definition at line 202 of file span-lite.hpp.

◆ span_FEATURE_TO_STD

#define span_FEATURE_TO_STD (   feature)    ( span_IN_STD( span_FEATURE( feature##_TO_STD ) ) )

Definition at line 203 of file span-lite.hpp.

◆ span_HAVE_STD_SPAN

#define span_HAVE_STD_SPAN   0

Definition at line 214 of file span-lite.hpp.

◆ span_USES_STD_SPAN

Definition at line 217 of file span-lite.hpp.

◆ span_COMPILER_MSVC_VER

#define span_COMPILER_MSVC_VER   0

Definition at line 262 of file span-lite.hpp.

◆ span_COMPILER_MSVC_VERSION

#define span_COMPILER_MSVC_VERSION   0

Definition at line 263 of file span-lite.hpp.

◆ span_COMPILER_VERSION

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

Definition at line 266 of file span-lite.hpp.

◆ span_COMPILER_CLANG_VERSION

#define span_COMPILER_CLANG_VERSION   0

Definition at line 271 of file span-lite.hpp.

◆ span_COMPILER_GNUC_VERSION

#define span_COMPILER_GNUC_VERSION   0

Definition at line 277 of file span-lite.hpp.

◆ span_BETWEEN

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

Definition at line 281 of file span-lite.hpp.

◆ span_RESTORE_WARNINGS

#define span_RESTORE_WARNINGS ( )    /*empty*/

Definition at line 312 of file span-lite.hpp.

Referenced by nonstd::span_lite::ssize().

◆ span_HAS_CPP0X

#define span_HAS_CPP0X   0

Definition at line 320 of file span-lite.hpp.

◆ span_CPP11_80

#define span_CPP11_80   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1400)

Definition at line 323 of file span-lite.hpp.

◆ span_CPP11_90

#define span_CPP11_90   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1500)

Definition at line 324 of file span-lite.hpp.

◆ span_CPP11_100

#define span_CPP11_100   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1600)

Definition at line 325 of file span-lite.hpp.

◆ span_CPP11_110

#define span_CPP11_110   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1700)

Definition at line 326 of file span-lite.hpp.

◆ span_CPP11_120

#define span_CPP11_120   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1800)

Definition at line 327 of file span-lite.hpp.

◆ span_CPP11_140

#define span_CPP11_140   (span_CPP11_OR_GREATER || span_COMPILER_MSVC_VER >= 1900)

Definition at line 328 of file span-lite.hpp.

◆ span_CPP14_000

#define span_CPP14_000   (span_CPP14_OR_GREATER)

Definition at line 330 of file span-lite.hpp.

◆ span_CPP14_120

#define span_CPP14_120   (span_CPP14_OR_GREATER || span_COMPILER_MSVC_VER >= 1800)

Definition at line 331 of file span-lite.hpp.

◆ span_CPP14_140

#define span_CPP14_140   (span_CPP14_OR_GREATER || span_COMPILER_MSVC_VER >= 1900)

Definition at line 332 of file span-lite.hpp.

◆ span_CPP17_000

#define span_CPP17_000   (span_CPP17_OR_GREATER)

Definition at line 334 of file span-lite.hpp.

◆ span_HAVE_ALIAS_TEMPLATE

#define span_HAVE_ALIAS_TEMPLATE   span_CPP11_140

Definition at line 338 of file span-lite.hpp.

◆ span_HAVE_AUTO

#define span_HAVE_AUTO   span_CPP11_100

Definition at line 339 of file span-lite.hpp.

◆ span_HAVE_CONSTEXPR_11

#define span_HAVE_CONSTEXPR_11   span_CPP11_140

Definition at line 340 of file span-lite.hpp.

◆ span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG

#define span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG   span_CPP11_120

Definition at line 341 of file span-lite.hpp.

◆ span_HAVE_EXPLICIT_CONVERSION

#define span_HAVE_EXPLICIT_CONVERSION   span_CPP11_140

Definition at line 342 of file span-lite.hpp.

◆ span_HAVE_INITIALIZER_LIST

#define span_HAVE_INITIALIZER_LIST   span_CPP11_120

Definition at line 343 of file span-lite.hpp.

◆ span_HAVE_IS_DEFAULT

#define span_HAVE_IS_DEFAULT   span_CPP11_140

Definition at line 344 of file span-lite.hpp.

◆ span_HAVE_IS_DELETE

#define span_HAVE_IS_DELETE   span_CPP11_140

Definition at line 345 of file span-lite.hpp.

◆ span_HAVE_NOEXCEPT

#define span_HAVE_NOEXCEPT   span_CPP11_140

Definition at line 346 of file span-lite.hpp.

◆ span_HAVE_NULLPTR

#define span_HAVE_NULLPTR   span_CPP11_100

Definition at line 347 of file span-lite.hpp.

◆ span_HAVE_STATIC_ASSERT

#define span_HAVE_STATIC_ASSERT   span_CPP11_100

Definition at line 348 of file span-lite.hpp.

◆ span_HAVE_CONSTEXPR_14

#define span_HAVE_CONSTEXPR_14   span_CPP14_000

Definition at line 352 of file span-lite.hpp.

◆ span_HAVE_DEPRECATED

#define span_HAVE_DEPRECATED   span_CPP17_000

Definition at line 356 of file span-lite.hpp.

◆ span_HAVE_NODISCARD

#define span_HAVE_NODISCARD   span_CPP17_000

Definition at line 357 of file span-lite.hpp.

◆ span_HAVE_NORETURN

#define span_HAVE_NORETURN   span_CPP17_000

Definition at line 358 of file span-lite.hpp.

◆ span_HAVE_DEDUCTION_GUIDES

#define span_HAVE_DEDUCTION_GUIDES   (span_CPP17_OR_GREATER && ! span_BETWEEN( span_COMPILER_MSVC_VER, 1, 1913 ))

Definition at line 365 of file span-lite.hpp.

◆ span_HAVE_ADDRESSOF

#define span_HAVE_ADDRESSOF   span_CPP17_000

Definition at line 370 of file span-lite.hpp.

◆ span_HAVE_ARRAY

#define span_HAVE_ARRAY   span_CPP11_110

Definition at line 371 of file span-lite.hpp.

◆ span_HAVE_BYTE

#define span_HAVE_BYTE   span_CPP17_000

Definition at line 372 of file span-lite.hpp.

◆ span_HAVE_CONDITIONAL

#define span_HAVE_CONDITIONAL   span_CPP11_120

Definition at line 373 of file span-lite.hpp.

◆ span_HAVE_CONTAINER_DATA_METHOD

#define span_HAVE_CONTAINER_DATA_METHOD   (span_CPP11_140 || ( span_COMPILER_MSVC_VER >= 1500 && span_HAS_CPP0X ))

Definition at line 374 of file span-lite.hpp.

◆ span_HAVE_DATA

#define span_HAVE_DATA   span_CPP17_000

Definition at line 375 of file span-lite.hpp.

◆ span_HAVE_LONGLONG

#define span_HAVE_LONGLONG   span_CPP11_80

Definition at line 376 of file span-lite.hpp.

◆ span_HAVE_REMOVE_CONST

#define span_HAVE_REMOVE_CONST   span_CPP11_110

Definition at line 377 of file span-lite.hpp.

◆ span_HAVE_SNPRINTF

#define span_HAVE_SNPRINTF   span_CPP11_140

Definition at line 378 of file span-lite.hpp.

◆ span_HAVE_STRUCT_BINDING

#define span_HAVE_STRUCT_BINDING   span_CPP11_120

Definition at line 379 of file span-lite.hpp.

◆ span_HAVE_TYPE_TRAITS

#define span_HAVE_TYPE_TRAITS   span_CPP11_90

Definition at line 380 of file span-lite.hpp.

◆ span_HAVE_NONSTD_BYTE

#define span_HAVE_NONSTD_BYTE   0

Definition at line 387 of file span-lite.hpp.

◆ span_ADDRESSOF

#define span_ADDRESSOF (   x)    (&x)

Definition at line 395 of file span-lite.hpp.

Referenced by nonstd::span_lite::span< T, Extent >::span().

◆ span_constexpr

◆ span_constexpr14

◆ span_explicit

#define span_explicit   /*explicit*/

Definition at line 413 of file span-lite.hpp.

◆ span_is_delete

#define span_is_delete

Definition at line 419 of file span-lite.hpp.

◆ span_is_delete_access

#define span_is_delete_access   private

Definition at line 425 of file span-lite.hpp.

◆ span_noexcept

#define span_noexcept   /*noexcept*/

◆ span_nullptr

#define span_nullptr   NULL

◆ span_deprecated

#define span_deprecated (   msg)    /*[[deprecated]]*/

Definition at line 443 of file span-lite.hpp.

Referenced by nonstd::span_lite::span< T, Extent >::operator[]().

◆ span_nodiscard

#define span_nodiscard   /*[[nodiscard]]*/

Definition at line 449 of file span-lite.hpp.

◆ span_noreturn

#define span_noreturn   /*[[noreturn]]*/

Definition at line 455 of file span-lite.hpp.

Referenced by nonstd::span_lite::detail::is_positive().

◆ span_HAVE_CONSTRAINED_SPAN_CONTAINER_CTOR

#define span_HAVE_CONSTRAINED_SPAN_CONTAINER_CTOR   span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG

Definition at line 460 of file span-lite.hpp.

◆ span_HAVE_ITERATOR_CTOR

#define span_HAVE_ITERATOR_CTOR   span_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG

Definition at line 461 of file span-lite.hpp.

◆ span_ELIDE_CONTRACT_EXPECTS

#define span_ELIDE_CONTRACT_EXPECTS   ( 0 == ( span_CONFIG_CONTRACT_LEVEL_MASK & 0x01 ) )

Definition at line 499 of file span-lite.hpp.

◆ span_ELIDE_CONTRACT_ENSURES

#define span_ELIDE_CONTRACT_ENSURES   ( 0 == ( span_CONFIG_CONTRACT_LEVEL_MASK & 0x10 ) )

Definition at line 500 of file span-lite.hpp.

◆ span_constexpr_exp

◆ span_EXPECTS

◆ span_constexpr_ens

#define span_constexpr_ens   span_constexpr14

Definition at line 514 of file span-lite.hpp.

◆ span_ENSURES

#define span_ENSURES (   cond)    span_CONTRACT_CHECK( "Postcondition", cond )

Definition at line 515 of file span-lite.hpp.

◆ span_CONTRACT_CHECK

#define span_CONTRACT_CHECK (   type,
  cond 
)
Value:
cond ? static_cast< void >( 0 ) \
: nonstd::span_lite::detail::report_contract_violation( span_LOCATION( __FILE__, __LINE__ ) ": " type " violation." )
span_noreturn void report_contract_violation(char const *) span_noexcept
Definition: span-lite.hpp:857
#define span_LOCATION(file, line)
Definition: span-lite.hpp:525

Definition at line 518 of file span-lite.hpp.

◆ span_LOCATION

#define span_LOCATION (   file,
  line 
)    file "(" span_STRINGIFY( line ) ")"

Definition at line 525 of file span-lite.hpp.

◆ span_REQUIRES_0

#define span_REQUIRES_0 (   VA)    /*empty*/

Definition at line 552 of file span-lite.hpp.

◆ span_REQUIRES_T

◆ span_REQUIRES_R

#define span_REQUIRES_R (   R,
  VA 
)    R

Definition at line 554 of file span-lite.hpp.

◆ span_REQUIRES_A

#define span_REQUIRES_A (   VA)    /*empty*/

Definition at line 555 of file span-lite.hpp.

◆ span_sizeof

#define span_sizeof (   T)    static_cast<extent_t>( sizeof(T) )