MongoDB C++ Driver
mongocxx-3.9.0
|
Class representing a view-or-value variant type for strings. More...
#include <view_or_value.hpp>
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 *. More... | |
view_or_value (const std::string &str) | |
Allow construction with an l-value reference to a std::string. More... | |
view_or_value | terminated () const |
Return a string_view_or_value that is guaranteed to hold a null-terminated string. More... | |
const char * | data () const |
Call data() on this view_or_value's string_view. More... | |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const view_or_value &lhs, const char *rhs) |
Comparison operators for comparing string::view_or_value directly with const char *. | |
Class representing a view-or-value variant type for strings.
This class adds several string-specific methods to the bsoncxx::view_or_value template:
|
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.