(C++)  1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
UtilityEvaluatorSnapshot.h
1 #ifndef GRAIL_UTILITY_EVALUATOR_SNAPSHOT_H
2 #define GRAIL_UTILITY_EVALUATOR_SNAPSHOT_H
3 
4 #include "EvaluationDebugData.h"
5 #include "BehaviorInstanceSnapshot.h"
6 
7 #include <vector>
8 #include <string>
9 
10 namespace YAML
11 {
12  template <typename DataType>
13  struct convert;
14 }
15 
16 namespace grail
17 {
22  {
24  public:
25  UtilityEvaluatorSnapshot() = default;
31  UtilityEvaluatorSnapshot(const std::string& evaluatedObjectName, const std::string& metadata, int rank = 0);
32 
37  void AddEvaluation(EvaluationDebugData&& debugData);
38 
44  std::size_t AddNode(const void* nodePointer);
45 
50  const std::vector<EvaluationDebugData>& GetEvaluations() const;
51 
56  const std::string& GetEvaluatedObjectName() const;
57 
62  const std::string& GetEvaluatedObjectMetadata() const;
63 
68  const int& GetRank() const;
69 
74  const std::map<const void*, std::size_t>& GetNodeMapping() const;
75 
76  private:
77  std::vector<EvaluationDebugData> evaluations{};
78  std::map<const void*, std::size_t> nodeMapping{};
79  std::size_t nextIndex{0};
80  std::string evaluatedObjectName{};
81  std::string evaluatedObjectMetadata{};
82  int rank{0};
83  };
84 }
85 
86 #endif
The EvaluationDebugData class - debug data describing singular evaluator.
Definition: EvaluationDebugData.h:20
The UtilityEvaluatorSnapshot class - debug snapshot of whole evaluator tree assigned to evaluated obj...
Definition: UtilityEvaluatorSnapshot.h:22
std::size_t AddNode(const void *nodePointer)
AddNode - assign index indicating position in debug tree to the given node pointer.
Definition: UtilityEvaluatorSnapshot.cpp:15
const std::string & GetEvaluatedObjectName() const
GetEvaluatedObjectName.
Definition: UtilityEvaluatorSnapshot.cpp:23
const std::map< const void *, std::size_t > & GetNodeMapping() const
GetNodeMapping.
Definition: UtilityEvaluatorSnapshot.cpp:26
void AddEvaluation(EvaluationDebugData &&debugData)
AddEvaluation - add debug data describing singular evaluator node to this snapshot.
Definition: UtilityEvaluatorSnapshot.cpp:10
const int & GetRank() const
GetRank.
Definition: UtilityEvaluatorSnapshot.cpp:25
const std::vector< EvaluationDebugData > & GetEvaluations() const
GetEvaluations.
Definition: UtilityEvaluatorSnapshot.cpp:22
const std::string & GetEvaluatedObjectMetadata() const
GetEvaluatedObjectMetadata.
Definition: UtilityEvaluatorSnapshot.cpp:24
Definition: EvaluationDebugData.h:11