Give document_data a user-provided constructor

Signed-off-by: Niels Lohmann <mail@nlohmann.me>
This commit is contained in:
Niels Lohmann authored and GitHub committed 2026-10-13 19:50:58 +02:00
1 parent 18928e1828
commit a46eb7767e
1 file changed
+12 -1
+12 -1
View File
@@ -65,7 +65,18 @@ struct document_data
} }
}; };
document_data() noexcept = default; /// user-provided so that the class-type members can be initialized in the
/// member initialization list (-Weffc++ asks for it, and old GCC rejects a
/// defaulted constructor whose exception specification differs from the
/// implicit one); they cannot take default member initializers, which old
/// Clang (3.4-3.6) rejects. The other members have default member
/// initializers. noexcept: create() constructs into raw memory and could not
/// release it if this threw (the std::string default constructors do not
/// allocate).
document_data() noexcept
: arena() // NOLINT(readability-redundant-member-init)
, owned() // NOLINT(readability-redundant-member-init)
{}
document_data(const document_data&) = delete; document_data(const document_data&) = delete;
document_data(document_data&&) = delete; document_data(document_data&&) = delete;
document_data& operator=(const document_data&) = delete; document_data& operator=(const document_data&) = delete;