#include <bsoncxx/v_noabi/bsoncxx/string/view_or_value.hpp>
Class representing a view-or-value variant type for strings.
- Derived From
-
This class adds several string-specific methods to the bsoncxx::v_noabi::view_or_value template:
- a constructor overload for const char*
- a constructor overload for std::string by l-value reference
- a safe c_str() operation to return null-terminated c-style strings.
◆ view_or_value() [1/3]
bsoncxx::v_noabi::string::view_or_value::view_or_value |
( |
| ) |
|
|
default |
Default constructor, equivalent to using an empty string.
◆ view_or_value() [2/3]
bsoncxx::v_noabi::string::view_or_value::view_or_value |
( |
const char * |
str | ) |
|
|
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.
- Parameters
-
str | A null-terminated string |
◆ view_or_value() [3/3]
bsoncxx::v_noabi::string::view_or_value::view_or_value |
( |
const std::string & |
str | ) |
|
|
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.
- Parameters
-
str | A std::string l-value reference. |
◆ data()
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().
- Returns
- A const char* of this string.
◆ 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.
- Returns
- A new view_or_value object.
◆ operator!=() [1/2]
◆ operator!=() [2/2]
◆ operator==() [1/2]
◆ operator==() [2/2]
The documentation for this class was generated from the following file: