SEAction.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 SEAction : public Loggable
8 {
9  friend class PBAction;//friend the serialization class
10 public:
11 
12  SEAction();
13  virtual ~SEAction();
14 
15  virtual void Clear();// Deletes all members
16 
18  virtual bool IsValid() const { return true; }
21  virtual bool IsActive() const { return IsValid(); }
22 
23  virtual std::string GetComment() const;
24  virtual void SetComment(const std::string& comment);
25  virtual bool HasComment() const;
26  virtual void InvalidateComment();
27 
28  virtual void ToString(std::ostream &str)const=0;
29 
30 protected:
31 
32  std::string m_Comment;
33 };
34 
35 inline std::ostream& operator<< (std::ostream& out, const SEAction& a)
36 {
37  a.ToString(out);
38  return out;
39 }
Definition: SESubstanceManager.h:8
virtual void ToString(std::ostream &str) const =0
Definition: PBActions.h:11
Definition: SEAction.h:7
virtual bool IsValid() const
Definition: SEAction.h:18
std::string m_Comment
Definition: SEAction.h:32
Definition: Logger.h:11
virtual bool IsActive() const
Definition: SEAction.h:21