(C++)  1.1.0
A multi-platform, modular, universal engine for embedding advanced AI in games.
IDecisionSerializers.hh
1 #ifndef GRAIL_DECISION_SERIALIZERS_H
2 #define GRAIL_DECISION_SERIALIZERS_H
3 
4 #include <string>
5 #include <memory>
6 #include <iostream>
7 
8 namespace grail
9 {
10  namespace simulation
11  {
15  template <class TDecisionType>
17  {
18  public:
20  virtual std::string Serialize(const TDecisionType& decision) = 0;
21 
23  virtual std::unique_ptr<TDecisionType> Deserialize(std::string decisionString) = 0;
24  virtual ~IDecisionStringSerializer() { }
25  };
26 
30  template <class TDecisionType>
32  {
34  virtual void Serialize(const TDecisionType& decision, std::ostream& stream) = 0;
35 
37  virtual std::unique_ptr<TDecisionType> Deserialize(std::istream& stream) = 0;
38  virtual ~IDecisionBinarySerializer() { }
39  };
40  }
41 }
42 #endif //GRAIL_DECISION_SERIALIZERS_H
Definition: IDecisionSerializers.hh:17
virtual std::unique_ptr< TDecisionType > Deserialize(std::string decisionString)=0
Deserializes a decision to exactly the same form as is serialized using the Serialize() method.
virtual std::string Serialize(const TDecisionType &decision)=0
Returns an exact representation of a decision as string.
Definition: IDecisionSerializers.hh:32
virtual std::unique_ptr< TDecisionType > Deserialize(std::istream &stream)=0
Deserializes a decision to exactly the same form as is serialized using the Serialize() method.
virtual void Serialize(const TDecisionType &decision, std::ostream &stream)=0
Writes a binary serialization of a decision using the writer.