17#include <bsoncxx/config/prelude.hpp>
19#if defined(BSONCXX_POLY_USE_MNMLSTC)
21#include <core/string.hpp>
24inline namespace v_noabi {
27using ::core::basic_string_view;
28using ::core::string_view;
34#elif defined(BSONCXX_POLY_USE_BOOST)
36#include <boost/version.hpp>
38#if BOOST_VERSION >= 106100
40#include <boost/utility/string_view.hpp>
43inline namespace v_noabi {
46using ::boost::basic_string_view;
47using ::boost::string_view;
55#include <boost/utility/string_ref.hpp>
58inline namespace v_noabi {
61template <
typename charT,
typename traits = std::
char_traits<
charT>>
62using basic_string_view = ::boost::basic_string_ref<charT, traits>;
63using string_view = ::boost::string_ref;
71#elif defined(BSONCXX_POLY_USE_STD_EXPERIMENTAL)
73#include <experimental/string_view>
76inline namespace v_noabi {
79using ::std::experimental::basic_string_view;
80using ::std::experimental::string_view;
86#elif defined(BSONCXX_POLY_USE_STD)
91inline namespace v_noabi {
94using ::std::basic_string_view;
95using ::std::string_view;
102#error "Cannot find a valid polyfill for string_view"
105#include <bsoncxx/config/postlude.hpp>
The top-level namespace for bsoncxx library entities.
Definition element.hpp:24