The Gaudi Framework  master (ff829712)
Loading...
Searching...
No Matches
HistoryObj.h
Go to the documentation of this file.
1/***********************************************************************************\
2* (c) Copyright 1998-2025 CERN for the benefit of the LHCb and ATLAS collaborations *
3* *
4* This software is distributed under the terms of the Apache version 2 licence, *
5* copied verbatim in the file "LICENSE". *
6* *
7* In applying this licence, CERN does not waive the privileges and immunities *
8* granted to it by virtue of its status as an Intergovernmental Organization *
9* or submit itself to any jurisdiction. *
10\***********************************************************************************/
11#pragma once
12
13#include <GaudiKernel/ClassID.h>
15
16#include <ostream>
17#include <string>
18
19class IVersHistoryObj;
20
29
31public:
32 virtual ~HistoryObj() = default;
33
34 const CLID& clID() const override { return classID(); }
35 static const CLID& classID();
36 static std::string convert_string( const std::string& );
37
38 virtual std::ostream& dump( std::ostream&, bool isXML = false, int indent = 0 ) const = 0;
39
40 // Output stream.
41 friend std::ostream& operator<<( std::ostream& lhs, const HistoryObj& rhs ) { return rhs.dump( lhs, false, 0 ); }
42
43protected:
44 virtual void indent( std::ostream&, int ) const;
45};
unsigned int CLID
Class ID definition.
Definition ClassID.h:16
#define GAUDI_API
Definition Kernel.h:49
DataObject()
Standard Constructor.
static const CLID & classID()
Retrieve reference to class definition structure (static access)
Base class for History Objects.
Definition HistoryObj.h:30
const CLID & clID() const override
Retrieve reference to class definition structure.
Definition HistoryObj.h:34
friend std::ostream & operator<<(std::ostream &lhs, const HistoryObj &rhs)
Definition HistoryObj.h:41
virtual std::ostream & dump(std::ostream &, bool isXML=false, int indent=0) const =0
virtual void indent(std::ostream &, int) const
virtual ~HistoryObj()=default
Interface for Versioned History Objects.