MongoDB C++ Driver mongocxx-3.11.0
|
#include <bsoncxx/v_noabi/bsoncxx/string/view_or_value.hpp>
Class representing a view-or-value variant type for strings.
This class adds several string-specific methods to the bsoncxx::v_noabi::view_or_value template:
Public Member Functions | |
view_or_value ()=default | |
Default constructor, equivalent to using an empty string. | |
view_or_value (const char *str) | |
Construct a string::view_or_value using a null-terminated const char *. The resulting view_or_value will keep a string_view of 'str', so it is important that the passed-in string outlive this object. | |
view_or_value (const std::string &str) | |
Allow construction with an l-value reference to a std::string. The resulting view_or_value will keep a string_view of 'str', so it is important that the passed-in string outlive this object. | |
const char * | data () const |
Call data() on this view_or_value's string_view. This method is not guaranteed to return a null-terminated string unless it is used in combination with terminated(). | |
view_or_value | terminated () const |
Return a string_view_or_value that is guaranteed to hold a null-terminated string. The lifetime of the returned object must be a subset of this object's lifetime, because the new view_or_value might hold a view into this one. | |
Public Member Functions inherited from bsoncxx::v_noabi::view_or_value< stdx::string_view, std::string > | |
view_or_value ()=default | |
Default-constructs a view_or_value. This is equivalent to constructing a view_or_value with a default-constructed View. | |
view_or_value (const view_or_value &other) | |
Construct a view_or_value from a copied view_or_value. | |
view_or_value (std::string &&value) | |
Constructs a view_or_value from a Value type. This object owns the passed-in Value. | |
view_or_value (stdx::string_view view) | |
Construct a view_or_value from a View. When constructed with a View, this object is non-owning. The Value underneath the given View must outlive this object. | |
view_or_value (view_or_value &&other) noexcept | |
Construct a view_or_value from a moved-in view_or_value. | |
~view_or_value ()=default | |
Class View must be constructible from an instance of class Value. | |
bool | is_owning () const noexcept |
Return whether or not this view_or_value owns an underlying Value. | |
operator stdx::string_view () const | |
This type may be used as a View. | |
view_or_value & | operator= (const view_or_value &other) |
Assign to this view_or_value from a copied view_or_value. | |
view_or_value & | operator= (view_or_value &&other) noexcept |
Assign to this view_or_value from a moved-in view_or_value. | |
const stdx::string_view & | view () const |
Get a View for the type. | |
Related Symbols | |
(Note that these are not member symbols.) | |
bool | operator== (const view_or_value &lhs, const char *rhs) |
Comparison operators for comparing string::view_or_value directly with const char* . | |
bool | operator!= (const view_or_value &lhs, const char *rhs) |
Comparison operators for comparing string::view_or_value directly with const char* . | |
bool | operator== (const char *lhs, const view_or_value &rhs) |
Comparison operators for comparing string::view_or_value directly with const char* . | |
bool | operator!= (const char *lhs, const view_or_value &rhs) |
Comparison operators for comparing string::view_or_value directly with const char* . | |
Related Symbols inherited from bsoncxx::v_noabi::view_or_value< stdx::string_view, std::string > | |
bool | operator== (const view_or_value< stdx::string_view, std::string > &lhs, const view_or_value< stdx::string_view, std::string > &rhs) |
Compare view_or_value objects for (in)equality. | |
bool | operator== (const view_or_value< stdx::string_view, std::string > &lhs, stdx::string_view rhs) |
Mixed (in)equality operators for view_or_value against View and Value types. | |
|
default |
Default constructor, equivalent to using an empty string.
|
inline |
Construct a string::view_or_value using a null-terminated const char *. The resulting view_or_value will keep a string_view of 'str', so it is important that the passed-in string outlive this object.
str | A null-terminated string |
|
inline |
Allow construction with an l-value reference to a std::string. The resulting view_or_value will keep a string_view of 'str', so it is important that the passed-in string outlive this object.
Construction calls passing a std::string by r-value reference will use the constructor defined in the parent view_or_value class.
str | A std::string l-value reference. |
const char * bsoncxx::v_noabi::string::view_or_value::data | ( | ) | const |
Call data() on this view_or_value's string_view. This method is not guaranteed to return a null-terminated string unless it is used in combination with terminated().
view_or_value bsoncxx::v_noabi::string::view_or_value::terminated | ( | ) | const |
Return a string_view_or_value that is guaranteed to hold a null-terminated string. The lifetime of the returned object must be a subset of this object's lifetime, because the new view_or_value might hold a view into this one.
It is recommended that this method be used before calling .data() on a view_or_value, as that method may return a non-null-terminated string.
|
related |
Comparison operators for comparing string::view_or_value directly with const char*
.
|
related |
Comparison operators for comparing string::view_or_value directly with const char*
.
|
related |
Comparison operators for comparing string::view_or_value directly with const char*
.
|
related |
Comparison operators for comparing string::view_or_value directly with const char*
.