ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
InnerDetector
InDetCalibAlgs
SCT_CalibAlgs
src
XmlStreamer.cxx
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
3
*/
4
/*
5
* XmlStreamer.cpp
6
* Formatter
7
*
8
* Created by sroe on 12/01/2010.
9
*
10
*/
11
12
#include "
XmlStreamer.h
"
13
14
using
Attributes_t
= std::map<std::string, std::string>;
15
using
NameValue_t
= std::vector<std::string>;
16
static
const
Attributes_t
empty
;
17
18
namespace
SCT_CalibAlgs
{
19
20
XmlStreamer::XmlStreamer
(
const
std::string& name,
const
Attributes_t
& attributes, std::ostream& os):
21
IElementStreamer
(name, attributes, os) {
22
m_os
<<
"\n<"
<<
m_name
;
23
if
(not attributes.empty()) {
24
Attributes_t::const_iterator i{attributes.begin()};
25
const
Attributes_t::const_iterator end{attributes.end()};
26
for (; i!=end; ++i) {
27
m_os
<<
" "
<< i->first <<
"=\""
<< i->second <<
"\""
;
28
}
29
}
30
m_os <<
">"
;
31
m_os.flush();
32
}
33
34
XmlStreamer::XmlStreamer
(
const
std::string& name,
const
NameValue_t
& attributeNames,
const
NameValue_t
& attributeValues, std::ostream& os):
35
IElementStreamer
(name, attributeNames, attributeValues, os) {
36
m_os
<<
"\n<"
<<
m_name
;
37
for
(
unsigned
int
i{0}; i!=attributeNames.size(); ++i) {
38
m_os
<<
" "
<< attributeNames[i] <<
"=\""
<< attributeValues[i] <<
"\""
;
39
}
40
m_os
<<
">"
;
41
m_os
.flush();
42
}
43
44
XmlStreamer::XmlStreamer
(
const
std::string& name, std::ostream& os)
45
:
IElementStreamer
(name,
empty
, os) {
46
m_os
<<
"\n<"
<<
m_name
<<
">"
;
47
m_os
.flush();
48
}
49
50
XmlStreamer::XmlStreamer
(
const
std::string& name,
const
std::string& attributeName,
const
std::string& attributeValue, std::ostream& os):
51
IElementStreamer
(name, attributeName, attributeValue, os) {
52
m_os
<<
"\n<"
<<
m_name
;
53
for
(
unsigned
int
i{0}; i!=
m_attributeNames
.size(); ++i) {
54
m_os
<<
" "
<<
m_attributeNames
[i] <<
"=\""
<<
m_attributeValues
[i] <<
"\""
;
55
}
56
m_os
<<
">"
;
57
m_os
.flush();
58
}
59
60
XmlStreamer::~XmlStreamer
() {
61
m_os
<<
"</"
<<
m_name
<<
">"
;
62
if
(
m_depth
==1)
m_os
<<
"\n"
;
63
}
64
65
}
NameValue_t
std::vector< std::string > NameValue_t
Definition
XmlStreamer.cxx:15
Attributes_t
std::map< std::string, std::string > Attributes_t
Definition
XmlStreamer.cxx:14
empty
static const Attributes_t empty
Definition
XmlStreamer.cxx:16
XmlStreamer.h
SCT_CalibAlgs::IElementStreamer::m_attributeValues
std::vector< std::string > m_attributeValues
Definition
IElementStreamer.h:24
SCT_CalibAlgs::IElementStreamer::m_os
std::ostream & m_os
Definition
IElementStreamer.h:25
SCT_CalibAlgs::IElementStreamer::IElementStreamer
IElementStreamer(const std::string &name, const std::map< std::string, std::string > &attributeMap, std::ostream &os=std::cout)
Definition
IElementStreamer.cxx:15
SCT_CalibAlgs::IElementStreamer::m_name
std::string m_name
Definition
IElementStreamer.h:22
SCT_CalibAlgs::IElementStreamer::m_depth
unsigned int m_depth
Definition
IElementStreamer.h:26
SCT_CalibAlgs::IElementStreamer::m_attributeNames
std::vector< std::string > m_attributeNames
Definition
IElementStreamer.h:23
SCT_CalibAlgs::XmlStreamer::~XmlStreamer
virtual ~XmlStreamer()
Definition
XmlStreamer.cxx:60
SCT_CalibAlgs::XmlStreamer::XmlStreamer
XmlStreamer(const std::string &name, const std::map< std::string, std::string > &attributes, std::ostream &os=std::cout)
Definition
XmlStreamer.cxx:20
SCT_CalibAlgs
Definition
IElementStreamer.cxx:13
Generated on
for ATLAS Offline Software by
1.17.0