Back to home page

EIC code displayed by LXR

 
 

    


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

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_ISERIALIZE_H
0012 #define GAUDIKERNEL_ISERIALIZE_H
0013 
0014 // Framework include files
0015 #include "GaudiKernel/IInterface.h"
0016 
0017 // Forward declarations
0018 class StreamBuffer;
0019 
0020 /** @class ISerialize ISerialize.h GaudiKernel/ISerialize.h
0021 
0022     Object serialization interface definition.
0023     Definition of a interface to save and restore objects.
0024 
0025     @author M.Frank
0026 */
0027 class GAUDI_API ISerialize : virtual public IInterface {
0028 public:
0029   /// InterfaceID
0030   DeclareInterfaceID( ISerialize, 2, 0 );
0031 
0032   /** Input serialization from stream buffer. Restores the status of the object.
0033       @param   str    Reference to Streambuffer to be filled
0034       @return  Reference to filled stream buffer
0035   */
0036   virtual StreamBuffer& serialize( StreamBuffer& str ) = 0;
0037   /** Output serialization to stream buffer. Saves the status of the object.
0038       @param   str    Reference to Streambuffer to be read
0039       @return  Reference to read stream buffer
0040   */
0041   virtual StreamBuffer& serialize( StreamBuffer& str ) const = 0;
0042 };
0043 
0044 #endif // GAUDIKERNEL_ISERIALIZE_H