Description
Scope: Reintroduce support of CXX17 standard library as a polyfill option.
Motivation:
CXX-2625 removed logic to support CXX17 native polyfill. Example of removed code:
#elif defined(BSONCXX_POLY_USE_STD)
|
|
|
#include <string_view>
|
|
|
namespace bsoncxx { |
namespace v_noabi { |
namespace stdx { |
|
|
using ::std::basic_string_view; |
using ::std::string_view; |
|
|
} // namespace stdx |
} // namespace v_noabi |
This ticket proposes adding back the option to use CXX17 native polyfill. This may enable easy removal of the bsoncxx implementation of the polyfill once C++17 is the minimum supported standard.
A CMake option may not be needed to select between the CXX17 polyfill and the bsoncxx polyfill. If CXX17 is the chosen standard, the CXX17 polyfill may be chosen unconditionally.