30 struct Names : std::set<OutputName> {
35 Names(
const std::set<OutputName> &
s)
36 : std::set<OutputName>(
s)
55 struct All : std::monostate { };
57 typedef std::variant<All, Names> Raw;
61 bool operator == (
const OutputsSpec &)
const =
default;
64 return raw < other.raw;
74 bool contains(
const OutputName & output)
const;
91 static std::optional<OutputsSpec> parseOpt(std::string_view
s);
93 std::string to_string()
const;
100 typedef std::variant<Default, Explicit> Raw;
119 static std::pair<std::string_view, ExtendedOutputsSpec>
parse(std::string_view
s);
120 static std::optional<std::pair<std::string_view, ExtendedOutputsSpec>> parseOpt(std::string_view
s);
122 std::string to_string()
const;
127JSON_IMPL(OutputsSpec)
128JSON_IMPL(ExtendedOutputsSpec)
return s
Definition lexer.l:459
std::string_view OutputNameView
Definition outputs-spec.hh:24
std::string OutputName
Definition outputs-spec.hh:18
Definition outputs-spec.hh:97
ExtendedOutputsSpec()=delete
static std::pair< std::string_view, ExtendedOutputsSpec > parse(std::string_view s)
Definition outputs-spec.cc:70
Definition outputs-spec.hh:55
Definition outputs-spec.hh:30
Names(std::set< OutputName > &&s)
Definition outputs-spec.hh:42
Definition outputs-spec.hh:26
bool isSubsetOf(const OutputsSpec &outputs) const
Definition outputs-spec.cc:127
OutputsSpec union_(const OutputsSpec &that) const
Definition outputs-spec.cc:105
static OutputsSpec parse(std::string_view s)
Definition outputs-spec.cc:47