Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-02-21 10:00:30

0001 /***********************************************************************************\
0002 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
0003 *                                                                                   *
0004 * This software is distributed under the terms of the Apache version 2 licence,     *
0005 * copied verbatim in the file "LICENSE".                                            *
0006 *                                                                                   *
0007 * In applying this licence, CERN does not waive the privileges and immunities       *
0008 * granted to it by virtue of its status as an Intergovernmental Organization        *
0009 * or submit itself to any jurisdiction.                                             *
0010 \***********************************************************************************/
0011 #ifndef GAUDIKERNEL_HISTORYOBJ_H
0012 #define GAUDIKERNEL_HISTORYOBJ_H
0013 
0014 #include "GaudiKernel/ClassID.h"
0015 #include "GaudiKernel/DataObject.h"
0016 
0017 #include <ostream>
0018 #include <string>
0019 
0020 class IVersHistoryObj;
0021 
0022 /** @class HistoryObj HistoryObj.h GaudiKernel/HistoryObj.h
0023 
0024     Base class for History Objects
0025 
0026     @author Charles Leggett
0027     @date   Jul 13 2004
0028 
0029 */
0030 
0031 class GAUDI_API HistoryObj : public DataObject {
0032 public:
0033   virtual ~HistoryObj() = default;
0034 
0035   const CLID&        clID() const override { return classID(); }
0036   static const CLID& classID();
0037   static std::string convert_string( const std::string& );
0038 
0039   virtual std::ostream& dump( std::ostream&, bool isXML = false, int indent = 0 ) const = 0;
0040 
0041   // Output stream.
0042   friend std::ostream& operator<<( std::ostream& lhs, const HistoryObj& rhs ) { return rhs.dump( lhs, false, 0 ); }
0043 
0044 protected:
0045   virtual void indent( std::ostream&, int ) const;
0046 };
0047 
0048 #endif