RESTinio
Namespaces | Macros | Functions
string_view.hpp File Reference
#include <algorithm>
#include <cassert>
#include <iterator>
#include <limits>
#include <ostream>
#include <stdexcept>
#include <string>

Go to the source code of this file.

Namespaces

 nonstd
 
 nonstd::sv_lite
 

Macros

#define string_view_lite_VERSION   "0.2.0"
 
#define nssv_CONFIG_STD_SV_OPERATOR   0
 
#define nssv_CONFIG_USR_SV_OPERATOR   1
 
#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS   1
 
#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS   1
 
#define nssv_MSVC_LANG   0
 
#define nssv_CPP11   (__cplusplus == 201103L )
 
#define nssv_CPP11_OR_GREATER   (__cplusplus >= 201103L || nssv_MSVC_LANG >= 201103L )
 
#define nssv_CPP14_OR_GREATER   (__cplusplus >= 201402L || nssv_MSVC_LANG >= 201703L )
 
#define nssv_CPP17_OR_GREATER   (__cplusplus >= 201703L || nssv_MSVC_LANG >= 201703L )
 
#define nssv_CPP20_OR_GREATER   (__cplusplus >= 202000L || nssv_MSVC_LANG >= 202000L )
 
#define nssv_HAS_INCLUDE(arg)   0
 
#define nssv_HAVE_STD_STRING_VIEW   ( nssv_CPP17_OR_GREATER && nssv_HAS_INCLUDE(<string_view>) )
 
#define nssv_USES_STD_STRING_VIEW   nssv_HAVE_STD_STRING_VIEW
 
#define nssv_HAVE_STARTS_WITH   ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW )
 
#define nssv_HAVE_ENDS_WITH   nssv_HAVE_STARTS_WITH
 
#define nssv_COMPILER_MSVC_VERSION   0
 
#define nssv_COMPILER_VERSION(major, minor, patch)   (10 * ( 10 * major + minor) + patch)
 
#define nssv_COMPILER_CLANG_VERSION   0
 
#define nssv_COMPILER_GNUC_VERSION   0
 
#define nssv_BETWEEN(v, lo, hi)   ( lo <= v && v < hi )
 
#define nssv_constexpr   /*constexpr*/
 
#define nssv_constexpr14   /*constexpr*/
 
#define nssv_explicit   /*explicit*/
 
#define nssv_inline_ns   /*inline*/
 
#define nssv_noexcept   /*noexcept*/
 
#define nssv_ref_qual   /*&*/
 
#define nssv_refref_qual   /*&&*/
 
#define nssv_nullptr   NULL
 
#define nssv_nodiscard   /*[[nodiscard]]*/
 
#define nssv_SUPPRESS_MSGSL_WARNING(expr)
 
#define nssv_SUPPRESS_MSVC_WARNING(code, descr)
 
#define nssv_DISABLE_MSVC_WARNINGS(codes)
 
#define nssv_RESTORE_WARNINGS()
 

Functions

 nssv_DISABLE_MSVC_WARNINGS (4455 26481 26472) namespace nonstd
 
template<class CharT , class Traits >
std::basic_string< CharT, Traits > nonstd::sv_lite::to_string (basic_string_view< CharT, Traits > v)
 
template<class CharT , class Traits , class Allocator >
basic_string_view< CharT, Traits > nonstd::sv_lite::to_string_view (std::basic_string< CharT, Traits, Allocator > const &s)
 

Macro Definition Documentation

◆ nssv_BETWEEN

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

Definition at line 217 of file string_view.hpp.

◆ nssv_COMPILER_CLANG_VERSION

#define nssv_COMPILER_CLANG_VERSION   0

Definition at line 207 of file string_view.hpp.

◆ nssv_COMPILER_GNUC_VERSION

#define nssv_COMPILER_GNUC_VERSION   0

Definition at line 213 of file string_view.hpp.

◆ nssv_COMPILER_MSVC_VERSION

#define nssv_COMPILER_MSVC_VERSION   0

Definition at line 199 of file string_view.hpp.

◆ nssv_COMPILER_VERSION

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

Definition at line 202 of file string_view.hpp.

◆ nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS

#define nssv_CONFIG_CONVERSION_STD_STRING_CLASS_METHODS   1

Definition at line 48 of file string_view.hpp.

◆ nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS

#define nssv_CONFIG_CONVERSION_STD_STRING_FREE_FUNCTIONS   1

Definition at line 51 of file string_view.hpp.

◆ nssv_CONFIG_STD_SV_OPERATOR

#define nssv_CONFIG_STD_SV_OPERATOR   0

Definition at line 35 of file string_view.hpp.

◆ nssv_CONFIG_USR_SV_OPERATOR

#define nssv_CONFIG_USR_SV_OPERATOR   1

Definition at line 39 of file string_view.hpp.

◆ nssv_constexpr

#define nssv_constexpr   /*constexpr*/

Definition at line 281 of file string_view.hpp.

◆ nssv_constexpr14

#define nssv_constexpr14   /*constexpr*/

Definition at line 287 of file string_view.hpp.

◆ nssv_CPP11

#define nssv_CPP11   (__cplusplus == 201103L )

Definition at line 63 of file string_view.hpp.

◆ nssv_CPP11_OR_GREATER

#define nssv_CPP11_OR_GREATER   (__cplusplus >= 201103L || nssv_MSVC_LANG >= 201103L )

Definition at line 64 of file string_view.hpp.

◆ nssv_CPP14_OR_GREATER

#define nssv_CPP14_OR_GREATER   (__cplusplus >= 201402L || nssv_MSVC_LANG >= 201703L )

Definition at line 65 of file string_view.hpp.

◆ nssv_CPP17_OR_GREATER

#define nssv_CPP17_OR_GREATER   (__cplusplus >= 201703L || nssv_MSVC_LANG >= 201703L )

Definition at line 66 of file string_view.hpp.

◆ nssv_CPP20_OR_GREATER

#define nssv_CPP20_OR_GREATER   (__cplusplus >= 202000L || nssv_MSVC_LANG >= 202000L )

Definition at line 67 of file string_view.hpp.

◆ nssv_DISABLE_MSVC_WARNINGS

#define nssv_DISABLE_MSVC_WARNINGS (   codes)

Definition at line 360 of file string_view.hpp.

◆ nssv_explicit

#define nssv_explicit   /*explicit*/

Definition at line 293 of file string_view.hpp.

◆ nssv_HAS_INCLUDE

#define nssv_HAS_INCLUDE (   arg)    0

Definition at line 74 of file string_view.hpp.

◆ nssv_HAVE_ENDS_WITH

#define nssv_HAVE_ENDS_WITH   nssv_HAVE_STARTS_WITH

Definition at line 84 of file string_view.hpp.

◆ nssv_HAVE_STARTS_WITH

#define nssv_HAVE_STARTS_WITH   ( nssv_CPP20_OR_GREATER || !nssv_USES_STD_STRING_VIEW )

Definition at line 83 of file string_view.hpp.

◆ nssv_HAVE_STD_STRING_VIEW

#define nssv_HAVE_STD_STRING_VIEW   ( nssv_CPP17_OR_GREATER && nssv_HAS_INCLUDE(<string_view>) )

Definition at line 77 of file string_view.hpp.

◆ nssv_inline_ns

#define nssv_inline_ns   /*inline*/

Definition at line 299 of file string_view.hpp.

◆ nssv_MSVC_LANG

#define nssv_MSVC_LANG   0

Definition at line 60 of file string_view.hpp.

◆ nssv_nodiscard

#define nssv_nodiscard   /*[[nodiscard]]*/

Definition at line 325 of file string_view.hpp.

◆ nssv_noexcept

#define nssv_noexcept   /*noexcept*/

Definition at line 305 of file string_view.hpp.

◆ nssv_nullptr

#define nssv_nullptr   NULL

Definition at line 319 of file string_view.hpp.

◆ nssv_ref_qual

#define nssv_ref_qual   /*&*/

Definition at line 312 of file string_view.hpp.

◆ nssv_refref_qual

#define nssv_refref_qual   /*&&*/

Definition at line 313 of file string_view.hpp.

◆ nssv_RESTORE_WARNINGS

#define nssv_RESTORE_WARNINGS ( )

Definition at line 370 of file string_view.hpp.

◆ nssv_SUPPRESS_MSGSL_WARNING

#define nssv_SUPPRESS_MSGSL_WARNING (   expr)

Definition at line 358 of file string_view.hpp.

◆ nssv_SUPPRESS_MSVC_WARNING

#define nssv_SUPPRESS_MSVC_WARNING (   code,
  descr 
)

Definition at line 359 of file string_view.hpp.

◆ nssv_USES_STD_STRING_VIEW

#define nssv_USES_STD_STRING_VIEW   nssv_HAVE_STD_STRING_VIEW

Definition at line 80 of file string_view.hpp.

◆ string_view_lite_VERSION

#define string_view_lite_VERSION   "0.2.0"

Definition at line 20 of file string_view.hpp.

Function Documentation

◆ nssv_DISABLE_MSVC_WARNINGS()

nssv_DISABLE_MSVC_WARNINGS ( 4455 26481  26472)

Definition at line 380 of file string_view.hpp.