19 #include <bsoncxx/string/view_or_value-fwd.hpp>
21 #include <bsoncxx/stdx/string_view.hpp>
22 #include <bsoncxx/view_or_value.hpp>
24 #include <bsoncxx/config/prelude.hpp>
103 return lhs.
view() == stdx::string_view(rhs);
106 BSONCXX_INLINE
bool operator!=(
const view_or_value& lhs,
const char* rhs) {
107 return !(lhs == rhs);
110 BSONCXX_INLINE
bool operator==(
const char* lhs,
const view_or_value& rhs) {
114 BSONCXX_INLINE
bool operator!=(
const char* lhs,
const view_or_value& rhs) {
115 return !(rhs == lhs);
128 using ::bsoncxx::v_noabi::string::operator==;
129 using ::bsoncxx::v_noabi::string::operator!=;
134 #include <bsoncxx/config/postlude.hpp>
Class representing a view-or-value variant type for strings.
Definition: view_or_value.hpp:38
view_or_value()=default
Default constructor, equivalent to using an empty string.
view_or_value(const std::string &str)
Allow construction with an l-value reference to a std::string.
Definition: view_or_value.hpp:70
bool operator==(const view_or_value &lhs, const char *rhs)
Comparison operators for comparing string::view_or_value directly with const char *.
Definition: view_or_value.hpp:102
const char * data() const
Call data() on this view_or_value's string_view.
view_or_value(const char *str)
Construct a string::view_or_value using a null-terminated const char *.
Definition: view_or_value.hpp:57
view_or_value terminated() const
Return a string_view_or_value that is guaranteed to hold a null-terminated string.
Class representing a view-or-value variant type.
Definition: view_or_value.hpp:32
const View & view() const
Get a View for the type.
Definition: view_or_value.hpp:133
The top-level namespace for bsoncxx library entities.
Definition: element-fwd.hpp:19