31{
32 const std::string OutputStream::optType = "EventLoop_OutputStreamType";
33 const std::string OutputStream::optMergeCmd = "EventLoop_MergeCmd";
34 const std::string OutputStream::optContainerSuffix = "EventLoop_DSSuffix";
35
36 void OutputStream ::
37 testInvariant () const
38 {
41 }
42
43
44
45 OutputStream ::
46 OutputStream ()
47 : m_label ("out"), m_output (0)
48 {
50 }
51
52
53
54 OutputStream ::
55 OutputStream (const std::string& val_label)
56 : m_label (val_label), m_output (0)
57 {
59
61 }
62
63
64
65 OutputStream ::
66 OutputStream (const std::string& val_label, const std::string& val_type)
67 : m_label (val_label), m_output (0)
68 {
70
71 m_options.setString(optType, val_type);
72
74 }
75
76
77
78 OutputStream ::
79 OutputStream (const OutputStream& that)
80 : TObject (that), m_label (that.m_label),
81 m_options (that.m_options), m_output (0)
82 {
84
85 if (that.m_output != 0)
86 {
89 }
90 }
91
92
93
94 OutputStream ::
95 ~OutputStream ()
96 {
98
99 delete m_output;
100 }
101
102
103
105 operator = (OutputStream that)
106 {
107
108 that.swap (*this);
109 return *this;
110 }
111
112
113
114 void OutputStream ::
115 swap (OutputStream& that)
116 {
119
120 m_label.swap (that.m_label);
121 m_options.swap (that.m_options);
122
124 m_output = that.m_output;
125 that.m_output = tmp_output;
126 }
127
128
129
130 const std::string& OutputStream ::
131 label () const
132 {
134 return m_label;
135 }
136
137
138
139 void OutputStream ::
140 label (const std::string& val_label)
141 {
144 m_label = val_label;
145 }
146
147
148
150 options ()
151 {
153 return &m_options;
154 }
155
156
157
159 options () const
160 {
162 return &m_options;
163 }
164
165
166
168 output() const
169 {
171 return m_output;
172 }
173
174
175
176 void OutputStream ::
178 {
180 delete m_output;
181 m_output = output_swallow;
182 }
183}
#define RCU_DESTROY_INVARIANT(x)
#define RCU_CHANGE_INVARIANT(x)
#define RCU_NEW_INVARIANT(x)
#define RCU_REQUIRE_SOFT(x)
#define RCU_READ_INVARIANT(x)
a class/interface representing an output location for files