-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoutcome_vector.h
More file actions
33 lines (22 loc) · 881 Bytes
/
Copy pathoutcome_vector.h
File metadata and controls
33 lines (22 loc) · 881 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//
// Created by qzz on 2023/11/3.
//
#ifndef BRIDGE_LEARNING_PLAYCC_OUTCOME_VECTOR_H_
#define BRIDGE_LEARNING_PLAYCC_OUTCOME_VECTOR_H_
#include <vector>
#include "bridge_lib/bridge_move.h"
#include "vector_utils.h"
namespace ble = bridge_learning_env;
struct OutcomeVector {
OutcomeVector(const OutcomeVector &) = default;
[[nodiscard]] double Score() const;
[[nodiscard]] std::string ToString() const;
std::vector<int> game_status;
std::vector<int> possible_world;
ble::BridgeMove move{};
};
bool operator==(const OutcomeVector &lhs, const OutcomeVector &rhs);
std::ostream &operator<<(std::ostream &stream, OutcomeVector &outcome_vector);
bool OutcomeVectorDominate(const OutcomeVector &lhs, const OutcomeVector &rhs);
OutcomeVector OutcomeVectorJoin(const OutcomeVector &lhs, const OutcomeVector &rhs);
#endif // BRIDGE_LEARNING_PLAYCC_OUTCOME_VECTOR_H_