[CXX-2796] Reintroduce support of C++17 standard library as a polyfill option Created: 15/Dec/23  Updated: 23/Jan/24

Status: In Code Review
Project: C++ Driver
Component/s: None
Affects Version/s: None
Fix Version/s: 3.10.0

Type: Task Priority: Unknown
Reporter: Kevin Albertson Assignee: Ezra Chung
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Epic Link: CXX-2677

 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.


Generated at Wed Feb 07 22:07:03 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.