SECondition.h
1 /* Distributed under the Apache License, Version 2.0.
2  See accompanying NOTICE file for details.*/
3 
4 #pragma once
6 
7 class CDM_DECL SECondition : public Loggable
8 {
9  friend class PBCondition;//friend the serialization class
10 public:
11 
12  SECondition();
13  virtual ~SECondition();
14 
15  virtual void Clear();// Deletes all members
16 
17  virtual bool IsValid() const = 0;
18  virtual bool IsActive() const = 0;
19 
20  virtual std::string GetName() const = 0;
21 
22  virtual std::string GetComment() const;
23  virtual void SetComment(const std::string& comment);
24  virtual bool HasComment()const;
25  virtual void InvalidateComment();
26 
27  virtual void ToString(std::ostream &str) const=0;
28 
29 protected:
30 
31  std::string m_Comment;
32 };
33 
34 inline std::ostream& operator<< (std::ostream& out, const SECondition& a)
35 {
36  a.ToString(out);
37  return out;
38 }
Definition: SESubstanceManager.h:8
virtual void ToString(std::ostream &str) const =0
Definition: Logger.h:11
Definition: SECondition.h:7
Definition: PBConditions.h:9
std::string m_Comment
Definition: SECondition.h:31