-
Type:
Bug
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Server Programmability
-
Fully Compatible
-
ALL
-
Programmability 2025-04-14
-
200
-
None
-
3
-
None
-
None
-
None
-
None
-
None
-
None
- Fix order and dependencies, so that there are no incomplete type problems. Physical design flaws made this system difficult to improve.
We want to improve it, so it has to be in a form that makes top-down sense and doesn't just happen to work.
This is not currently the case.
- Fix BSON macro so that nonmember stream operators can be used, allowing extensibility.
- Special behaviors like `<< GT << x` or `<< MINKEY` no longer need to be mentioned in `BSONObjBuilder`. Their functionality is all local to their declaration.
- Remove user-side custom stream operators that were incorrectly implemented as specializations.
- Eliminate friendships.
- Use real polymorphism where needed to communicate from CRTP base to derived type.
- use constexpr inline for the tag values.
- repair MSVC warning disablement in header that was never push/popped.
- Documentation