PSEvt/include/HistI.h

Go to the documentation of this file.
00001 #ifndef PSEVT_HISTI_H
00002 #define PSEVT_HISTI_H
00003 
00004 //--------------------------------------------------------------------------
00005 // File and Version Information:
00006 //      $Id: 
00007 //
00008 // Description:
00009 //      Class HistI.
00010 //
00011 //------------------------------------------------------------------------
00012 
00013 //-----------------
00014 // C/C++ Headers --
00015 //-----------------
00016 #include <boost/utility.hpp>
00017 
00018 //----------------------
00019 // Base Class Headers --
00020 //----------------------
00021 
00022 //-------------------------------
00023 // Collaborating Class Headers --
00024 //-------------------------------
00025 #include "PSEvt/EventKey.h"
00026 
00027 //------------------------------------
00028 // Collaborating Class Declarations --
00029 //------------------------------------
00030 
00031 //              ---------------------
00032 //              -- Class Interface --
00033 //              ---------------------
00034 
00035 namespace PSEvt {
00036 
00037 /**
00038  *  @ingroup PSEvt
00039  *  
00040  *  @brief Class defining a history interface.
00041  *  
00042  *  This class supports a simple history interface, total number of
00043  *  updates, and total number of updates for a specific EventKey.  
00044  *
00045  *  @see ProxyDictI
00046  *
00047  *  @version \$Id:
00048  *
00049  *  @author David Schneider
00050  */
00051 
00052 class HistI : boost::noncopyable {
00053 public:
00054 
00055   // Destructor
00056   virtual ~HistI () {}
00057 
00058   /**
00059    *  @brief implement to provide number of updates
00060    *
00061    * Derived classes can provide a simple history mechanism by 
00062    * overriding this class and returning the number of updates
00063    *  
00064    *  @return total number of updates
00065    */
00066   virtual long totalUpdates() const = 0;
00067 
00068   /**
00069    *  @brief implement to provide total number of updates for a key.
00070    *
00071    *  Derived classes can implement this to provide a simple history on a key - 
00072    *  the total number of updates
00073    *  
00074    *  @param[in]  key EventKey to get updates for
00075    *  @return number of updates
00076    */
00077   virtual long updates(const EventKey & key) const = 0;
00078 };
00079 
00080 } // namespace PSEvt
00081 
00082 #endif // PSEVT_HISTI_H

Generated on 19 Dec 2016 for PSANAclasses by  doxygen 1.4.7