QuickCppLib 0.10
Eliminate all the tedious hassle when making state-of-the-art C++ 14 - 23 libraries!
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
byte.hpp File Reference

Classes

struct  nonstd::byte
 

Namespaces

namespace  nonstd
 
namespace  nonstd::detail
 

Macros

#define NONSTD_BYTE_LITE_HPP
 
#define byte_lite_MAJOR   0
 
#define byte_lite_MINOR   3
 
#define byte_lite_PATCH   0
 
#define byte_lite_VERSION   byte_STRINGIFY(byte_lite_MAJOR) "." byte_STRINGIFY(byte_lite_MINOR) "." byte_STRINGIFY(byte_lite_PATCH)
 
#define byte_STRINGIFY( x)   byte_STRINGIFY_( x )
 
#define byte_STRINGIFY_(x)   #x
 
#define byte_BYTE_DEFAULT   0
 
#define byte_BYTE_NONSTD   1
 
#define byte_BYTE_STD   2
 
#define byte_CONFIG_SELECT_BYTE   ( byte_HAVE_STD_BYTE ? byte_BYTE_STD : byte_BYTE_NONSTD )
 
#define byte_CPLUSPLUS   __cplusplus
 
#define byte_CPP98_OR_GREATER   ( byte_CPLUSPLUS >= 199711L )
 
#define byte_CPP11_OR_GREATER   ( byte_CPLUSPLUS >= 201103L )
 
#define byte_CPP11_OR_GREATER_   ( byte_CPLUSPLUS >= 201103L )
 
#define byte_CPP14_OR_GREATER   ( byte_CPLUSPLUS >= 201402L )
 
#define byte_CPP17_OR_GREATER   ( byte_CPLUSPLUS >= 201703L )
 
#define byte_CPP20_OR_GREATER   ( byte_CPLUSPLUS >= 202000L )
 
#define byte_HAVE_STD_BYTE   0
 
#define byte_USES_STD_BYTE   ( (byte_CONFIG_SELECT_BYTE == byte_BYTE_STD) || ((byte_CONFIG_SELECT_BYTE == byte_BYTE_DEFAULT) && byte_HAVE_STD_BYTE) )
 
#define byte_BETWEEN(v, lo, hi)   ( (lo) <= (v) && (v) < (hi) )
 
#define byte_COMPILER_MSVC_VER   0
 
#define byte_COMPILER_MSVC_VERSION   0
 
#define byte_COMPILER_VERSION(major, minor, patch)   ( 10 * ( 10 * (major) + (minor) ) + (patch) )
 
#define byte_COMPILER_CLANG_VERSION   0
 
#define byte_COMPILER_GNUC_VERSION   0
 
#define byte_may_alias
 
#define byte_HAS_CPP0X   0
 
#define byte_CPP11_90   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1500)
 
#define byte_CPP11_100   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1600)
 
#define byte_CPP11_110   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1700)
 
#define byte_CPP11_120   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1800)
 
#define byte_CPP11_140   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1900)
 
#define byte_CPP11_141   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1910)
 
#define byte_CPP14_000   (byte_CPP14_OR_GREATER)
 
#define byte_CPP17_000   (byte_CPP17_OR_GREATER)
 
#define byte_HAVE_CONSTEXPR_11   byte_CPP11_140
 
#define byte_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG   byte_CPP11_120
 
#define byte_HAVE_NOEXCEPT   byte_CPP11_140
 
#define byte_HAVE_CONSTEXPR_14   byte_CPP14_000
 
#define byte_HAVE_ENUM_CLASS_CONSTRUCTION_FROM_UNDERLYING_TYPE   byte_CPP17_000
 
#define byte_HAVE_TYPE_TRAITS   byte_CPP11_90
 
#define byte_constexpr   /*constexpr*/
 
#define byte_constexpr14   /*constexpr*/
 
#define byte_noexcept   /*noexcept*/
 
#define byte_ENABLE_IF_INTEGRAL_T(T)
 
#define byte_DEFAULT_TEMPLATE_ARG(T)
 

Functions

template<class IntegerType byte_ENABLE_IF_INTEGRAL_T>
byte_constexpr byte nonstd::to_byte (IntegerType v) byte_noexcept
 
template<class IntegerType >
byte_constexpr IntegerType nonstd::to_integer (byte b) byte_noexcept
 
byte_constexpr unsigned char nonstd::to_integer (byte b) byte_noexcept
 
byte_constexpr unsigned char nonstd::to_uchar (byte b) byte_noexcept
 
byte_constexpr unsigned char nonstd::to_uchar (int i) byte_noexcept
 
byte_constexpr bool nonstd::operator== (byte l, byte r) byte_noexcept
 
byte_constexpr bool nonstd::operator!= (byte l, byte r) byte_noexcept
 
byte_constexpr bool nonstd::operator< (byte l, byte r) byte_noexcept
 
byte_constexpr bool nonstd::operator<= (byte l, byte r) byte_noexcept
 
byte_constexpr bool nonstd::operator> (byte l, byte r) byte_noexcept
 
byte_constexpr bool nonstd::operator>= (byte l, byte r) byte_noexcept
 
template<class IntegerType byte_ENABLE_IF_INTEGRAL_T>
byte_constexpr14 bytenonstd::operator<<= (byte &b, IntegerType shift) byte_noexcept
 
template<class IntegerType byte_ENABLE_IF_INTEGRAL_T>
byte_constexpr14 bytenonstd::operator>>= (byte &b, IntegerType shift) byte_noexcept
 
template<class IntegerType byte_ENABLE_IF_INTEGRAL_T>
byte_constexpr byte nonstd::operator<< (byte b, IntegerType shift) byte_noexcept
 
template<class IntegerType byte_ENABLE_IF_INTEGRAL_T>
byte_constexpr byte nonstd::operator>> (byte b, IntegerType shift) byte_noexcept
 
byte_constexpr14 bytenonstd::operator|= (byte &l, byte r) byte_noexcept
 
byte_constexpr14 bytenonstd::operator&= (byte &l, byte r) byte_noexcept
 
byte_constexpr14 bytenonstd::operator^= (byte &l, byte r) byte_noexcept
 
byte_constexpr byte nonstd::operator| (byte l, byte r) byte_noexcept
 
byte_constexpr byte nonstd::operator& (byte l, byte r) byte_noexcept
 
byte_constexpr byte nonstd::operator^ (byte l, byte r) byte_noexcept
 
byte_constexpr byte nonstd::operator~ (byte b) byte_noexcept
 

Macro Definition Documentation

◆ NONSTD_BYTE_LITE_HPP

#define NONSTD_BYTE_LITE_HPP

◆ byte_lite_MAJOR

#define byte_lite_MAJOR   0

◆ byte_lite_MINOR

#define byte_lite_MINOR   3

◆ byte_lite_PATCH

#define byte_lite_PATCH   0

◆ byte_lite_VERSION

◆ byte_STRINGIFY

#define byte_STRINGIFY (   x)    byte_STRINGIFY_( x )

◆ byte_STRINGIFY_

#define byte_STRINGIFY_ (   x)    #x

◆ byte_BYTE_DEFAULT

#define byte_BYTE_DEFAULT   0

◆ byte_BYTE_NONSTD

#define byte_BYTE_NONSTD   1

◆ byte_BYTE_STD

#define byte_BYTE_STD   2

◆ byte_CONFIG_SELECT_BYTE

#define byte_CONFIG_SELECT_BYTE   ( byte_HAVE_STD_BYTE ? byte_BYTE_STD : byte_BYTE_NONSTD )

◆ byte_CPLUSPLUS

#define byte_CPLUSPLUS   __cplusplus

◆ byte_CPP98_OR_GREATER

#define byte_CPP98_OR_GREATER   ( byte_CPLUSPLUS >= 199711L )

◆ byte_CPP11_OR_GREATER

#define byte_CPP11_OR_GREATER   ( byte_CPLUSPLUS >= 201103L )

◆ byte_CPP11_OR_GREATER_

#define byte_CPP11_OR_GREATER_   ( byte_CPLUSPLUS >= 201103L )

◆ byte_CPP14_OR_GREATER

#define byte_CPP14_OR_GREATER   ( byte_CPLUSPLUS >= 201402L )

◆ byte_CPP17_OR_GREATER

#define byte_CPP17_OR_GREATER   ( byte_CPLUSPLUS >= 201703L )

◆ byte_CPP20_OR_GREATER

#define byte_CPP20_OR_GREATER   ( byte_CPLUSPLUS >= 202000L )

◆ byte_HAVE_STD_BYTE

#define byte_HAVE_STD_BYTE   0

◆ byte_USES_STD_BYTE

◆ byte_BETWEEN

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

◆ byte_COMPILER_MSVC_VER

#define byte_COMPILER_MSVC_VER   0

◆ byte_COMPILER_MSVC_VERSION

#define byte_COMPILER_MSVC_VERSION   0

◆ byte_COMPILER_VERSION

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

◆ byte_COMPILER_CLANG_VERSION

#define byte_COMPILER_CLANG_VERSION   0

◆ byte_COMPILER_GNUC_VERSION

#define byte_COMPILER_GNUC_VERSION   0

◆ byte_may_alias

#define byte_may_alias

◆ byte_HAS_CPP0X

#define byte_HAS_CPP0X   0

◆ byte_CPP11_90

#define byte_CPP11_90   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1500)

◆ byte_CPP11_100

#define byte_CPP11_100   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1600)

◆ byte_CPP11_110

#define byte_CPP11_110   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1700)

◆ byte_CPP11_120

#define byte_CPP11_120   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1800)

◆ byte_CPP11_140

#define byte_CPP11_140   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1900)

◆ byte_CPP11_141

#define byte_CPP11_141   (byte_CPP11_OR_GREATER_ || byte_COMPILER_MSVC_VER >= 1910)

◆ byte_CPP14_000

#define byte_CPP14_000   (byte_CPP14_OR_GREATER)

◆ byte_CPP17_000

#define byte_CPP17_000   (byte_CPP17_OR_GREATER)

◆ byte_HAVE_CONSTEXPR_11

#define byte_HAVE_CONSTEXPR_11   byte_CPP11_140

◆ byte_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG

#define byte_HAVE_DEFAULT_FUNCTION_TEMPLATE_ARG   byte_CPP11_120

◆ byte_HAVE_NOEXCEPT

#define byte_HAVE_NOEXCEPT   byte_CPP11_140

◆ byte_HAVE_CONSTEXPR_14

#define byte_HAVE_CONSTEXPR_14   byte_CPP14_000

◆ byte_HAVE_ENUM_CLASS_CONSTRUCTION_FROM_UNDERLYING_TYPE

#define byte_HAVE_ENUM_CLASS_CONSTRUCTION_FROM_UNDERLYING_TYPE   byte_CPP17_000

◆ byte_HAVE_TYPE_TRAITS

#define byte_HAVE_TYPE_TRAITS   byte_CPP11_90

◆ byte_constexpr

#define byte_constexpr   /*constexpr*/

◆ byte_constexpr14

#define byte_constexpr14   /*constexpr*/

◆ byte_noexcept

#define byte_noexcept   /*noexcept*/

◆ byte_ENABLE_IF_INTEGRAL_T

#define byte_ENABLE_IF_INTEGRAL_T (   T)

◆ byte_DEFAULT_TEMPLATE_ARG

#define byte_DEFAULT_TEMPLATE_ARG (   T)