Project
Loading...
Searching...
No Matches
OutputSpec.h
Go to the documentation of this file.
1// Copyright 2019-2020 CERN and copyright holders of ALICE O2.
2// See https://alice-o2.web.cern.ch/copyright for details of the copyright holders.
3// All rights not expressly granted are reserved.
4//
5// This software is distributed under the terms of the GNU General Public
6// License v3 (GPL Version 3), copied verbatim in the file "COPYING".
7//
8// In applying this license CERN does not waive the privileges and immunities
9// granted to it by virtue of its status as an Intergovernmental Organization
10// or submit itself to any jurisdiction.
11#ifndef O2_FRAMEWORK_OUTPUTSPEC_H_
12#define O2_FRAMEWORK_OUTPUTSPEC_H_
13
14#include "Headers/DataHeader.h"
15#include "Framework/Lifetime.h"
18
19#if !defined(__CLING__) && !defined(__ROOTCLING__)
20#include <variant>
21#endif
22
23namespace o2::framework
24{
25
27 std::string value;
28};
29
33struct OutputSpec {
35#if !defined(__CLING__) && !defined(__ROOTCLING__)
36 std::variant<ConcreteDataMatcher, ConcreteDataTypeMatcher> matcher;
37#endif
38 enum Lifetime lifetime = Lifetime::Timeframe;
39
41 OutputSpec(OutputLabel const& inBinding, header::DataOrigin inOrigin, header::DataDescription inDescription,
43 enum Lifetime lifetime_ = Lifetime::Timeframe,
44 std::vector<ConfigParamSpec> const& metadata_ = {});
45
49 enum Lifetime lifetime_ = Lifetime::Timeframe,
50 std::vector<ConfigParamSpec> const& metadata_ = {});
51
53 OutputSpec(OutputLabel const& inBinding, header::DataOrigin inOrigin, header::DataDescription inDescription,
54 enum Lifetime lifetime_ = Lifetime::Timeframe,
55 std::vector<ConfigParamSpec> const& metadata_ = {});
56
59 enum Lifetime lifetime_ = Lifetime::Timeframe,
60 std::vector<ConfigParamSpec> const& metadata_ = {});
61
63 OutputSpec(OutputLabel const& inBinding, ConcreteDataMatcher const& concrete,
64 enum Lifetime lifetime_ = Lifetime::Timeframe,
65 std::vector<ConfigParamSpec> const& metadata_ = {});
66
68 OutputSpec(ConcreteDataMatcher const& concrete,
69 enum Lifetime lifetime_ = Lifetime::Timeframe,
70 std::vector<ConfigParamSpec> const& metadata_ = {});
71
74 OutputSpec(OutputLabel const& inBinding, ConcreteDataTypeMatcher const& dataType,
75 enum Lifetime lifetime_ = Lifetime::Timeframe,
76 std::vector<ConfigParamSpec> const& metadata_ = {});
77
80 OutputSpec(ConcreteDataTypeMatcher const& dataType,
81 enum Lifetime lifetime_ = Lifetime::Timeframe,
82 std::vector<ConfigParamSpec> const& metadata_ = {});
83
84 bool operator==(OutputSpec const& that) const;
85
87 std::vector<ConfigParamSpec> metadata;
88
89 friend std::ostream& operator<<(std::ostream& stream, OutputSpec const& arg);
90};
91
92} // namespace o2::framework
93#endif
GLuint GLuint stream
Definition glcorearb.h:1806
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
Lifetime
Possible Lifetime of objects being exchanged by the DPL.
Definition Lifetime.h:18
Descriptor< gSizeDataDescriptionString > DataDescription
Definition DataHeader.h:551
Descriptor< gSizeDataOriginString > DataOrigin
Definition DataHeader.h:550
std::variant< ConcreteDataMatcher, ConcreteDataTypeMatcher > matcher
Definition OutputSpec.h:36
bool operator==(OutputSpec const &that) const
friend std::ostream & operator<<(std::ostream &stream, OutputSpec const &arg)
std::vector< ConfigParamSpec > metadata
A set of configurables which can be used to customise the InputSpec.
Definition OutputSpec.h:87
uint32_t SubSpecificationType
Definition DataHeader.h:620