@@ -49,7 +49,7 @@ struct b_double {
4949 // /
5050 // / The type represented by this BSON type value.
5151 // /
52- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_double;
52+ static constexpr id type_id = id::k_double;
5353
5454 // /
5555 // / The represented value.
@@ -100,7 +100,7 @@ struct b_string {
100100 // /
101101 // / The type represented by this BSON type value.
102102 // /
103- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_string;
103+ static constexpr id type_id = id::k_string;
104104
105105 // /
106106 // / The represented value.
@@ -148,7 +148,7 @@ struct b_document {
148148 // /
149149 // / The type represented by this BSON type value.
150150 // /
151- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_document;
151+ static constexpr id type_id = id::k_document;
152152
153153 // /
154154 // / The represented value.
@@ -200,7 +200,7 @@ struct b_array {
200200 // /
201201 // / The type represented by this BSON type value.
202202 // /
203- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_array;
203+ static constexpr id type_id = id::k_array;
204204
205205 // /
206206 // / The represented value.
@@ -248,7 +248,7 @@ struct b_binary {
248248 // /
249249 // / The type represented by this BSON type value.
250250 // /
251- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_binary;
251+ static constexpr id type_id = id::k_binary;
252252
253253 // /
254254 // / The represented value's binary subtype component.
@@ -317,7 +317,7 @@ struct b_undefined {
317317 // /
318318 // / The type represented by this BSON type value.
319319 // /
320- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_undefined;
320+ static constexpr id type_id = id::k_undefined;
321321
322322 // /
323323 // / Return true.
@@ -343,7 +343,7 @@ struct b_oid {
343343 // /
344344 // / The type represented by this BSON type value.
345345 // /
346- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_oid;
346+ static constexpr id type_id = id::k_oid;
347347
348348 // /
349349 // / The represented value.
@@ -391,7 +391,7 @@ struct b_bool {
391391 // /
392392 // / The type represented by this BSON type value.
393393 // /
394- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_bool;
394+ static constexpr id type_id = id::k_bool;
395395
396396 // /
397397 // / The represented value.
@@ -439,7 +439,7 @@ struct b_date {
439439 // /
440440 // / The type represented by this BSON type value.
441441 // /
442- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_date;
442+ static constexpr id type_id = id::k_date;
443443
444444 // /
445445 // / The represented value (milliseconds relative to the Unix epoch).
@@ -498,7 +498,7 @@ struct b_null {
498498 // /
499499 // / The type represented by this BSON type value.
500500 // /
501- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_null;
501+ static constexpr id type_id = id::k_null;
502502
503503 // /
504504 // / Return true.
@@ -524,7 +524,7 @@ struct b_regex {
524524 // /
525525 // / The type represented by this BSON type value.
526526 // /
527- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_regex;
527+ static constexpr id type_id = id::k_regex;
528528
529529 // /
530530 // / The represented value's "pattern" component.
@@ -577,7 +577,7 @@ struct b_dbpointer {
577577 // /
578578 // / The type represented by this BSON type value.
579579 // /
580- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_dbpointer;
580+ static constexpr id type_id = id::k_dbpointer;
581581
582582 // /
583583 // / The represented value's "$ref" (namespace) component.
@@ -623,7 +623,7 @@ struct b_code {
623623 // /
624624 // / The type represented by this BSON type value.
625625 // /
626- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_code;
626+ static constexpr id type_id = id::k_code;
627627
628628 // /
629629 // / The represented value.
@@ -673,7 +673,7 @@ struct b_symbol {
673673 // /
674674 // / The type represented by this BSON type value.
675675 // /
676- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_symbol;
676+ static constexpr id type_id = id::k_symbol;
677677
678678 // /
679679 // / The represented value.
@@ -723,7 +723,7 @@ struct b_codewscope {
723723 // /
724724 // / The type represented by this BSON type value.
725725 // /
726- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_codewscope;
726+ static constexpr id type_id = id::k_codewscope;
727727
728728 // /
729729 // / The represented value's "$code" component.
@@ -769,7 +769,7 @@ struct b_int32 {
769769 // /
770770 // / The type represented by this BSON type value.
771771 // /
772- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_int32;
772+ static constexpr id type_id = id::k_int32;
773773
774774 // /
775775 // / The represented value.
@@ -817,7 +817,7 @@ struct b_timestamp {
817817 // /
818818 // / The type represented by this BSON type value.
819819 // /
820- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_timestamp;
820+ static constexpr id type_id = id::k_timestamp;
821821
822822 // /
823823 // / The represented value's "i" component.
@@ -863,7 +863,7 @@ struct b_int64 {
863863 // /
864864 // / The type represented by this BSON type value.
865865 // /
866- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_int64;
866+ static constexpr id type_id = id::k_int64;
867867
868868 // /
869869 // / The represented value.
@@ -911,7 +911,7 @@ struct b_decimal128 {
911911 // /
912912 // / The type represented by this BSON type value.
913913 // /
914- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_decimal128;
914+ static constexpr id type_id = id::k_decimal128;
915915
916916 // /
917917 // / The represented value.
@@ -959,7 +959,7 @@ struct b_maxkey {
959959 // /
960960 // / The type represented by this BSON type value.
961961 // /
962- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_maxkey;
962+ static constexpr id type_id = id::k_maxkey;
963963
964964 // /
965965 // / Return true.
@@ -985,7 +985,7 @@ struct b_minkey {
985985 // /
986986 // / The type represented by this BSON type value.
987987 // /
988- static constexpr BSONCXX_ABI_EXPORT id type_id = id::k_minkey;
988+ static constexpr id type_id = id::k_minkey;
989989
990990 // /
991991 // / Return true.
@@ -1004,6 +1004,12 @@ struct b_minkey {
10041004
10051005// BSONCXX_V1_TYPES_XMACRO: update above.
10061006
1007+ #pragma push_macro("X")
1008+ #undef X
1009+ #define X (_name, _val ) BSONCXX_PRIVATE_INLINE_CXX17 constexpr id b_##_name::type_id;
1010+ BSONCXX_V1_TYPES_XMACRO (X)
1011+ #pragma pop_macro("X")
1012+
10071013// /
10081014// / A non-owning, read-only union of BSON type values.
10091015// /
0 commit comments