DUNE-DAQ
DUNE Trigger and Data Acquisition software
Loading...
Searching...
No Matches
OutputStream.hpp
Go to the documentation of this file.
1/*
2 * DUNE DAQ modification notice:
3 * This file has been modified from the original ATLAS ers source for the DUNE DAQ project.
4 * Fork baseline commit: 8267df82a4f6fe6bf02c4014923eba19eddc4614 (2020-04-14).
5 * Renamed since fork: yes (from ers/OutputStream.h to include/ers/OutputStream.hpp).
6 *
7 * Original copyright:
8 * Copyright (C) 2001-2020 CERN for the benefit of the ATLAS collaboration.
9 * Licensed under the Apache License, Version 2.0.
10 */
11
12/*
13 * OutputStream.h
14 * ers
15 *
16 * Created by Matthias Wiesmann on 02.12.04.
17 * Modified by Serguei Kolos on 02.08.05.
18 * Copyright 2004 CERN. All rights reserved.
19 *
20 */
21
22#ifndef ERS_OUTPUT_STREAM_H
23#define ERS_OUTPUT_STREAM_H
24
25#include <ers/Issue.hpp>
26#include <memory>
27#include <string>
28
33
34namespace ers {
35
36class Issue;
37
46
48{
49 friend class StreamManager;
50
51public:
52 virtual ~OutputStream() { ; }
53
55 virtual void write(const Issue& issue) = 0;
56
57protected:
59
61
62 virtual bool isNull() const;
63
64private:
65 OutputStream(const OutputStream& other) = delete;
67
68 void chained(OutputStream* stream);
69
70 std::unique_ptr<OutputStream> m_chained;
71};
72}
73
75
76#endif
Base class for any user define issue.
Definition Issue.hpp:76
virtual ~OutputStream()
Sends the issue into this stream.
virtual bool isNull() const
OutputStream & operator=(const OutputStream &)=delete
virtual void write(const Issue &issue)=0
friend class StreamManager
std::unique_ptr< OutputStream > m_chained
OutputStream & chained()
OutputStream(const OutputStream &other)=delete