CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
HistoryAppender.h
Go to the documentation of this file.
1 #ifndef FWCore_Framework_HistoryAppender_h
2 #define FWCore_Framework_HistoryAppender_h
3 
6 
7 #include <memory>
8 
9 namespace edm {
10 
11  class ProcessConfiguration;
12  class ProcessHistoryRegistry;
13 
15  public:
16 
18 
19  // Used to append the current process to the process history
20  // when necessary. Optimized to cache the results so it
21  // does not need to repeat the same calculations many times.
22  std::shared_ptr<ProcessHistory const>
24  ProcessHistory const* inputProcessHistory,
25  ProcessConfiguration const& pc);
26 
27  private:
28  HistoryAppender(HistoryAppender const&) = delete;
29  HistoryAppender& operator=(HistoryAppender const&) = delete;
30 
31  // Throws if the new process name is already in the process
32  // process history
33  void checkProcessHistory(ProcessHistory const& ph,
34  ProcessConfiguration const& pc) const;
35 
37  std::shared_ptr<ProcessHistory const> m_cachedHistory;
38  };
39 }
40 #endif
std::shared_ptr< ProcessHistory const > appendToProcessHistory(ProcessHistoryID const &inputPHID, ProcessHistory const *inputProcessHistory, ProcessConfiguration const &pc)
ProcessHistoryID m_cachedInputPHID
HistoryAppender & operator=(HistoryAppender const &)=delete
void checkProcessHistory(ProcessHistory const &ph, ProcessConfiguration const &pc) const
std::shared_ptr< ProcessHistory const > m_cachedHistory