#include <bsoncxx/v_noabi/bsoncxx/string/view_or_value.hpp>
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 char const*
- 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 ()=default |
| | Default constructor, equivalent to using an empty string.
|
| | view_or_value (char const *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 (std::string const &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.
|
| char const * | 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.
|
◆ 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 |
( |
char const * | 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 |
( |
std::string const & | 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()
| char const * 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 char const* 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: