The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
Printer.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 files
14 // ============================================================================
15 // STD & STL
16 // ============================================================================
17 #include <sstream>
18 #include <string>
19 // ============================================================================
20 // GaudiKernel
21 // ============================================================================
23 #include <GaudiKernel/DataObject.h>
24 // ============================================================================
25 
26 namespace GaudiPython {
33  template <class TYPE>
34  struct Printer {
35  static std::string print( const TYPE& object ) {
36  std::stringstream stream;
37  stream << object << std::endl;
38  return stream.str();
39  };
40  };
41  template <>
43  static std::string print( const ContainedObject& object ) {
44  std::ostringstream stream;
45  object.fillStream( stream );
46  return stream.str();
47  };
48  };
49  template <>
50  struct Printer<DataObject> {
51  static std::string print( const DataObject& type ) {
52  std::ostringstream stream;
53  type.fillStream( stream );
54  return stream.str();
55  };
56  };
57 
58 } // end of namespace GaudiPython
Write.stream
stream
Definition: Write.py:32
GaudiPython::Printer::print
static std::string print(const TYPE &object)
Definition: Printer.h:35
GaudiPython::Printer
Definition: Printer.h:34
GaudiPython::Printer< DataObject >::print
static std::string print(const DataObject &type)
Definition: Printer.h:51
gaudirun.type
type
Definition: gaudirun.py:160
DataObject.h
GaudiPython
Namespace for all classes interfacing Gaudi to Python.
Definition: Algorithm.h:29
DataObject
Definition: DataObject.h:37
ContainedObject.h
GaudiPython::Printer< ContainedObject >::print
static std::string print(const ContainedObject &object)
Definition: Printer.h:43
ContainedObject
Definition: ContainedObject.h:37