From 4c79699959a1368d1a1cd4770d5f46134768905d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 26 Feb 2019 14:52:36 +0200 Subject: Adjust to new aggregate initialization rules in C++20 --- bpkg/package.hxx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/bpkg/package.hxx b/bpkg/package.hxx index 515f105..e782f1b 100644 --- a/bpkg/package.hxx +++ b/bpkg/package.hxx @@ -757,6 +757,7 @@ namespace bpkg package_prerequisites prerequisites; + public: bool system () const { @@ -822,6 +823,37 @@ namespace bpkg #pragma db member(prerequisites) id_column("package") \ key_column("prerequisite") key_not_null value_column("") + // Explicit aggregate initialization for C++20 (private default ctor). + // + selected_package (package_name n, + version_type v, + package_state s, + package_substate ss, + bool hp, + bool hv, + repository_location rf, + optional a, + bool pa, + optional sr, + bool ps, + optional mc, + optional o, + package_prerequisites pps) + : name (move (n)), + version (move (v)), + state (s), + substate (ss), + hold_package (hp), + hold_version (hv), + repository_fragment (move (rf)), + archive (move (a)), + purge_archive (pa), + src_root (move (sr)), + purge_src (ps), + manifest_checksum (move (mc)), + out_root (move (o)), + prerequisites (move (pps)) {} + private: friend class odb::access; selected_package () = default; -- cgit v1.1