CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups 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 
14  public:
16  HistoryAppender(HistoryAppender const&) = delete;
17  HistoryAppender& operator=(HistoryAppender const&) = delete;
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> appendToProcessHistory(ProcessHistoryID const& inputPHID,
23  ProcessHistory const* inputProcessHistory,
24  ProcessConfiguration const& pc);
25 
26  private:
27  // Throws if the new process name is already in the process
28  // process history
29  void checkProcessHistory(ProcessHistory const& ph, ProcessConfiguration const& pc) const;
30 
32  std::shared_ptr<ProcessHistory const> m_cachedHistory;
33  };
34 } // namespace edm
35 #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