Browse Source

add string_view.hh – stolen from pEpMIME. :-D

master
roker 6 months ago
parent
commit
33dfc474bd
1 changed files with 41 additions and 0 deletions
  1. +41
    -0
      src/string_view.hh

+ 41
- 0
src/string_view.hh View File

@ -0,0 +1,41 @@
// This file is under GNU General Public License 3.0
// see LICENSE.txt
#ifndef PEP_DATATYPES_STRING_VIEW_HH
#define PEP_DATATYPES_STRING_VIEW_HH
#if (__cplusplus >= 201606) // std::string_view is C++17.
# include <string_view>
namespace pEp
{
typedef std::string_view string_view;
}
#else // in C++11 / C++14 use boost::string_view instead.
# include <boost/utility/string_view.hpp>
namespace pEp
{
typedef boost::string_view string_view;
// boost::string_view does not provide these operations, neither by boost nor by the stdlib. :-(
inline
std::string& operator+=(std::string& s, const string_view v)
{
s.append(v.data(), v.size());
return s;
}
inline
std::string operator+(std::string s, const string_view v)
{
return s += v;
}
using ::operator+=;
} // end of namespace pEp
#endif // C++17 switch
#endif // PEP_DATATYPES_CONFIG_HH

Loading…
Cancel
Save