Storm
A Modern Probabilistic Model Checker
Loading...
Searching...
No Matches
PlayerCoalition.cpp
Go to the documentation of this file.
2#include <ostream>
3
4namespace storm {
5namespace logic {
6
7PlayerCoalition::PlayerCoalition(std::vector<std::variant<std::string, storm::storage::PlayerIndex>> const& playerIds) : _playerIds(playerIds) {
8 // Intentionally left empty.
9}
10
11std::vector<std::variant<std::string, storm::storage::PlayerIndex>> const& PlayerCoalition::getPlayers() const {
12 return _playerIds;
13}
14
15template<typename T0, typename... Ts>
16std::ostream& operator<<(std::ostream& s, std::variant<T0, Ts...> const& v) {
17 std::visit([&](auto&& arg) { s << arg; }, v);
18 return s;
19}
20
21std::ostream& operator<<(std::ostream& stream, PlayerCoalition const& coalition) {
22 bool firstItem = true;
23 for (auto const& id : coalition._playerIds) {
24 if (firstItem) {
25 firstItem = false;
26 } else {
27 stream << ",";
28 }
29 stream << id;
30 }
31 return stream;
32}
33} // namespace logic
34} // namespace storm
std::vector< std::variant< std::string, storm::storage::PlayerIndex > > const & getPlayers() const
std::ostream & operator<<(std::ostream &out, Bound const &bound)
Definition Bound.h:40
LabParser.cpp.
Definition cli.cpp:18