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
23#ifndef ERS_OUTPUT_STREAM_H
24#define ERS_OUTPUT_STREAM_H
25
26#include <string>
27#include <memory>
28#include <ers/Issue.hpp>
29
34
35namespace ers
36{
37
38 class Issue;
39
48
50 {
51 friend class StreamManager;
52
53 public:
54 virtual ~OutputStream()
55 { ; }
56
58 virtual void write( const Issue & issue ) = 0;
59
60 protected:
61 OutputStream( );
62
64
65 virtual bool isNull() const;
66
67 private:
68 OutputStream( const OutputStream & other ) = delete;
69 OutputStream & operator=( const OutputStream & ) = delete;
70
71 void chained( OutputStream * stream );
72
73 std::unique_ptr<OutputStream> m_chained;
74 };
75}
76
78
79#endif
80
Base class for any user define issue.
Definition Issue.hpp:80
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