...one of the most highly
regarded and expertly designed C++ library projects in the
world.
— Herb Sutter and Andrei
Alexandrescu, C++
Coding Standards
boost::process::v2::environment::value_view — A view for a value in an environment.
// In header: <boost/process/v2/environment.hpp> struct value_view { // types typedef char_type value_type; typedef basic_cstring_ref< char_type, value_char_traits< char_type > > string_view_type; typedef std::basic_string< char_type, value_char_traits< char_type > > string_type; typedef value_char_traits< char_type > traits_type; // public member functions value_view(); value_view(const value_view &) = default; value_view(value_view &&); template<typename Source, typename = typename std::enable_if<is_constructible<string_view_type, Source>::value>::type> value_view(const Source &); value_view(const char_type *); value_view(char_type *); ~value_view() = default; value_view & operator=(const value_view &) = default; value_view & operator=(value_view &&); value_view & operator=(string_view_type); void swap(value_view &) noexcept; string_view_type native() const noexcept; operator string_view_type() const; operator typename string_view_type::string_view_type() const; int compare(const value_view &) const noexcept; int compare(string_view_type) const; int compare(const value_type *) const; template<typename CharT, typename Traits = std::char_traits<CharT>, typename Alloc = std::allocator<CharT> > std::basic_string< CharT, Traits, Alloc > basic_string(const Alloc & = Alloc()) const; std::string string() const; std::wstring wstring() const; string_type native_string() const; bool empty() const; value_iterator begin() const; value_iterator end() const; const char_type * c_str(); const value_type * data() const; std::size_t size() const; };
value_view
public member functionsvalue_view();
value_view(const value_view & p) = default;
value_view(value_view && p);
template<typename Source, typename = typename std::enable_if<is_constructible<string_view_type, Source>::value>::type> value_view(const Source & source);
value_view(const char_type * p);
value_view(char_type * p);
~value_view() = default;
value_view & operator=(const value_view & p) = default;
value_view & operator=(value_view && p);
value_view & operator=(string_view_type source);
void swap(value_view & other) noexcept;
string_view_type native() const noexcept;
operator string_view_type() const;
operator typename string_view_type::string_view_type() const;
int compare(const value_view & p) const noexcept;
int compare(string_view_type str) const;
int compare(const value_type * s) const;
template<typename CharT, typename Traits = std::char_traits<CharT>, typename Alloc = std::allocator<CharT> > std::basic_string< CharT, Traits, Alloc > basic_string(const Alloc & alloc = Alloc()) const;
std::string string() const;
std::wstring wstring() const;
string_type native_string() const;
bool empty() const;
value_iterator begin() const;
value_iterator end() const;
const char_type * c_str();
const value_type * data() const;
std::size_t size() const;