1 #ifndef GRAIL_DECISION_SERIALIZERS_H
2 #define GRAIL_DECISION_SERIALIZERS_H
15 template <
class TDecisionType>
20 virtual std::string
Serialize(
const TDecisionType& decision) = 0;
23 virtual std::unique_ptr<TDecisionType>
Deserialize(std::string decisionString) = 0;
30 template <
class TDecisionType>
34 virtual void Serialize(
const TDecisionType& decision, std::ostream& stream) = 0;
37 virtual std::unique_ptr<TDecisionType>
Deserialize(std::istream& stream) = 0;
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.