5namespace Stroika::Foundation::Database::Document {
12 inline Projection::Projection (Flag f,
const Set<String>& fields)
13 : fFields_{f == eOmit ? MyVariant_{in_place_index<0>, fields} : MyVariant_{in_place_index<1>, fields}}
16 inline auto Projection::GetFields () const -> tuple<Flag, Set<String>>
18 if (
auto i0 = get_if<0> (&fFields_)) {
19 return make_tuple (eOmit, *i0);
21 if (
auto i1 = get_if<1> (&fFields_)) {
22 return make_tuple (eInclude, *i1);
25 return make_tuple (eOmit, Set<String>{});
#define AssertNotReached()