25 SpinStateValidator(std::unordered_set<int> allowedNumbersOfSpins,
const bool acceptSingleStates =
false,
26 const std::string ¶Indicator =
"0",
const std::string &antiIndicator =
"1",
27 const bool optional =
false,
const std::string &extraIndicator =
"");
28 SpinStateValidator(std::unordered_set<int> allowedNumbersOfSpins,
const bool acceptSingleStates,
29 const std::string ¶Indicator,
const std::string &antiIndicator,
const bool optional,
30 const std::string &extraIndicator,
const bool rejectRepeatedSpinStates);
33 static bool anyOfIsInSet(
const std::vector<std::string> &anyOf,
const std::unordered_set<std::string> &set);
34 static bool setContains(
const std::unordered_set<std::string> &set,
const std::string &s) {
35 return set.find(s) != set.cend();
39 std::string checkValidity(
const std::string &input)
const override;
40 std::unordered_set<int> m_allowedNumbersOfSpins = {1, 2, 3, 4};
41 const std::unordered_set<std::string> getAllowedPairStates()
const;
42 const std::unordered_set<std::string> getAllowedSingleStates()
const;
43 bool m_acceptSingleStates =
false;
46 bool m_optional =
false;