...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
// In header: <boost/process/v2/environment.hpp> struct value { // types typedef char_type value_type; typedef value_char_traits< char_type > traits_type; typedef std::basic_string< char_type, traits_type > string_type; typedef basic_cstring_ref< char_type, traits_type > string_view_type; // public member functions value(); value(const value &) = default; value(const string_type &); value(string_type &&); value(const value_type *); value(value_type *); explicit value(value_view); template<typename Source> value(const Source &, decltype(std::declval< Source >().data()) = nullptr, decltype(std::declval< Source >().size()) = 0u); value(const typename conditional< is_same< value_type, char >::value, wchar_t, char >::type *); template<typename InputIt> value(InputIt, InputIt); ~value() = default; value & operator=(const value &) = default; value & operator=(value &&); value & operator=(string_type &&); template<typename Source> value & operator=(const Source &); value & assign(string_type &&); template<typename Source> value & assign(const Source &); template<typename InputIt> value & assign(InputIt, InputIt); void push_back(const value &); void clear(); void swap(value &) noexcept; const value_type * c_str() const noexcept; const string_type & native() const noexcept; string_view_type native_view() const noexcept; operator string_type() const; operator string_view_type() const; operator typename string_view_type::string_view_type() const; int compare(const value &) const noexcept; int compare(const string_type &) const; 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; const string_type & native_string() const; bool empty() const; value_iterator begin() const; value_iterator end() const; const value_type * data() const; std::size_t size() const; };
value
public member functionsvalue();
value(const value & p) = default;
value(const string_type & source);
value(string_type && source);
value(const value_type * raw);
value(value_type * raw);
explicit value(value_view kv);
template<typename Source> value(const Source & source, decltype(std::declval< Source >().data()) = nullptr, decltype(std::declval< Source >().size()) = 0u);
value(const typename conditional< is_same< value_type, char >::value, wchar_t, char >::type * raw);
template<typename InputIt> value(InputIt first, InputIt last);
~value() = default;
value & operator=(const value & p) = default;
value & operator=(value && p);
value & operator=(string_type && source);
template<typename Source> value & operator=(const Source & source);
value & assign(string_type && source);
template<typename Source> value & assign(const Source & source);
template<typename InputIt> value & assign(InputIt first, InputIt last);
void push_back(const value & sv);
void clear();
void swap(value & other) noexcept;
const value_type * c_str() const noexcept;
const string_type & native() const noexcept;
string_view_type native_view() const noexcept;
operator string_type() const;
operator string_view_type() const;
operator typename string_view_type::string_view_type() const;
int compare(const value & p) const noexcept;
int compare(const string_type & str) const;
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;
const string_type & native_string() const;
bool empty() const;
value_iterator begin() const;
value_iterator end() const;
const value_type * data() const;
std::size_t size() const;