OpenMiner  0.0.1a
Voxel game engine
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
sol::basic_string_view< Char, Traits > Struct Template Reference

#include <sol.hpp>

Public Member Functions

 basic_string_view (const std::string &r)
 
 basic_string_view (const Char *ptr)
 
 basic_string_view (const Char *ptr, std::size_t sz)
 
const Char * begin () const
 
const Char * end () const
 
const Char * cbegin () const
 
const Char * cend () const
 
const Char * data () const
 
std::size_t size () const
 
std::size_t length () const
 
 operator std::basic_string< Char, Traits > () const
 
bool operator== (const basic_string_view &r) const
 
bool operator== (const Char *r) const
 
bool operator== (const std::basic_string< Char, Traits > &r) const
 
bool operator!= (const basic_string_view &r) const
 
bool operator!= (const char *r) const
 
bool operator!= (const std::basic_string< Char, Traits > &r) const
 

Static Public Member Functions

static int compare (const Char *lhs_p, std::size_t lhs_sz, const Char *rhs_p, std::size_t rhs_sz)
 

Public Attributes

std::size_t s
 
const Char * p
 

Constructor & Destructor Documentation

§ basic_string_view() [1/3]

template<typename Char, typename Traits = std::char_traits<Char>>
sol::basic_string_view< Char, Traits >::basic_string_view ( const std::string r)
inline
1070  : basic_string_view(r.data(), r.size()) {
1071  }
basic_string_view(const std::string &r)
Definition: sol.hpp:1069

§ basic_string_view() [2/3]

template<typename Char, typename Traits = std::char_traits<Char>>
sol::basic_string_view< Char, Traits >::basic_string_view ( const Char *  ptr)
inline
1074  }
T * ptr(T *val)
Definition: sol.hpp:1872
basic_string_view(const std::string &r)
Definition: sol.hpp:1069

§ basic_string_view() [3/3]

template<typename Char, typename Traits = std::char_traits<Char>>
sol::basic_string_view< Char, Traits >::basic_string_view ( const Char *  ptr,
std::size_t  sz 
)
inline
1076  : s(sz), p(ptr) {
1077  }
T * ptr(T *val)
Definition: sol.hpp:1872
std::size_t s
Definition: sol.hpp:1066
const Char * p
Definition: sol.hpp:1067

Member Function Documentation

§ begin()

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::begin ( ) const
inline
1090  {
1091  return p;
1092  }
const Char * p
Definition: sol.hpp:1067

§ cbegin()

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::cbegin ( ) const
inline
1098  {
1099  return p;
1100  }
const Char * p
Definition: sol.hpp:1067

§ cend()

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::cend ( ) const
inline
1102  {
1103  return p + s;
1104  }
std::size_t s
Definition: sol.hpp:1066
const Char * p
Definition: sol.hpp:1067

§ compare()

template<typename Char, typename Traits = std::char_traits<Char>>
static int sol::basic_string_view< Char, Traits >::compare ( const Char *  lhs_p,
std::size_t  lhs_sz,
const Char *  rhs_p,
std::size_t  rhs_sz 
)
inlinestatic
1079  {
1080  int result = Traits::compare(lhs_p, rhs_p, lhs_sz < rhs_sz ? lhs_sz : rhs_sz);
1081  if (result != 0)
1082  return result;
1083  if (lhs_sz < rhs_sz)
1084  return -1;
1085  if (lhs_sz > rhs_sz)
1086  return 1;
1087  return 0;
1088  }

§ data()

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::data ( ) const
inline
1106  {
1107  return p;
1108  }
const Char * p
Definition: sol.hpp:1067

§ end()

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::end ( ) const
inline
1094  {
1095  return p + s;
1096  }
std::size_t s
Definition: sol.hpp:1066
const Char * p
Definition: sol.hpp:1067

§ length()

template<typename Char, typename Traits = std::char_traits<Char>>
std::size_t sol::basic_string_view< Char, Traits >::length ( ) const
inline
1114  {
1115  return size();
1116  }
std::size_t size() const
Definition: sol.hpp:1110

§ operator std::basic_string< Char, Traits >()

template<typename Char, typename Traits = std::char_traits<Char>>
sol::basic_string_view< Char, Traits >::operator std::basic_string< Char, Traits > ( ) const
inline
1118  {
1119  return std::basic_string<Char, Traits>(data(), size());
1120  }
std::size_t size() const
Definition: sol.hpp:1110
const Char * data() const
Definition: sol.hpp:1106

§ operator!=() [1/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator!= ( const basic_string_view< Char, Traits > &  r) const
inline
1134  {
1135  return !(*this == r);
1136  }

§ operator!=() [2/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator!= ( const char *  r) const
inline
1138  {
1139  return !(*this == r);
1140  }

§ operator!=() [3/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator!= ( const std::basic_string< Char, Traits > &  r) const
inline
1142  {
1143  return !(*this == r);
1144  }

§ operator==() [1/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator== ( const basic_string_view< Char, Traits > &  r) const
inline
1122  {
1123  return compare(p, s, r.data(), r.size()) == 0;
1124  }
std::size_t s
Definition: sol.hpp:1066
static int compare(const Char *lhs_p, std::size_t lhs_sz, const Char *rhs_p, std::size_t rhs_sz)
Definition: sol.hpp:1079
const Char * p
Definition: sol.hpp:1067

§ operator==() [2/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator== ( const Char *  r) const
inline
1126  {
1127  return compare(r, Traits::length(r), p, s) == 0;
1128  }
std::size_t s
Definition: sol.hpp:1066
static int compare(const Char *lhs_p, std::size_t lhs_sz, const Char *rhs_p, std::size_t rhs_sz)
Definition: sol.hpp:1079
const Char * p
Definition: sol.hpp:1067

§ operator==() [3/3]

template<typename Char, typename Traits = std::char_traits<Char>>
bool sol::basic_string_view< Char, Traits >::operator== ( const std::basic_string< Char, Traits > &  r) const
inline
1130  {
1131  return compare(r.data(), r.size(), p, s) == 0;
1132  }
std::size_t s
Definition: sol.hpp:1066
static int compare(const Char *lhs_p, std::size_t lhs_sz, const Char *rhs_p, std::size_t rhs_sz)
Definition: sol.hpp:1079
const Char * p
Definition: sol.hpp:1067

§ size()

template<typename Char, typename Traits = std::char_traits<Char>>
std::size_t sol::basic_string_view< Char, Traits >::size ( ) const
inline
1110  {
1111  return s;
1112  }
std::size_t s
Definition: sol.hpp:1066

Member Data Documentation

§ p

template<typename Char, typename Traits = std::char_traits<Char>>
const Char* sol::basic_string_view< Char, Traits >::p

§ s

template<typename Char, typename Traits = std::char_traits<Char>>
std::size_t sol::basic_string_view< Char, Traits >::s

The documentation for this struct was generated from the following file: