Project
Loading...
Searching...
No Matches
OutputSpec.cxx
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
13#include "Framework/Lifetime.h"
14
15namespace o2::framework
16{
19 enum Lifetime inLifetime,
20 std::vector<ConfigParamSpec> const& metadata_)
21 : binding{inBinding},
22 matcher{ConcreteDataMatcher{inOrigin, inDescription, inSubSpec}},
23 lifetime{inLifetime},
24 metadata{metadata_}
25{
26}
27
30 enum Lifetime inLifetime,
31 std::vector<ConfigParamSpec> const& metadata_)
32 : binding{OutputLabel{""}},
33 matcher{ConcreteDataMatcher{inOrigin, inDescription, inSubSpec}},
34 lifetime{inLifetime},
35 metadata{metadata_}
36{
37}
38
40 enum Lifetime inLifetime,
41 std::vector<ConfigParamSpec> const& metadata_)
42 : binding{inBinding},
43 // Note: using 0 as subspec is specifically intended default behavior, a matcher ignoring
44 // the subspec can be passed using the specific constructor with ConcreteDataTypeMatcher
45 matcher{ConcreteDataMatcher{inOrigin, inDescription, 0}},
46 lifetime{inLifetime},
47 metadata{metadata_}
48{
49}
50
52 enum Lifetime inLifetime,
53 std::vector<ConfigParamSpec> const& metadata_)
54 : binding{OutputLabel{""}},
55 // Note: using 0 as subspec is specifically intended default behavior, a matcher ignoring
56 // the subspec can be passed using the specific constructor with ConcreteDataTypeMatcher
57 matcher{ConcreteDataMatcher{inOrigin, inDescription, 0}},
58 lifetime{inLifetime},
59 metadata{metadata_}
60{
61}
62
64 enum Lifetime inLifetime,
65 std::vector<ConfigParamSpec> const& metadata_)
66 : binding{""},
67 matcher{concrete},
68 lifetime{inLifetime},
69 metadata{metadata_}
70{
71}
72
73OutputSpec::OutputSpec(OutputLabel const& inBinding, ConcreteDataMatcher const& concrete,
74 enum Lifetime inLifetime,
75 std::vector<ConfigParamSpec> const& metadata_)
76 : binding{inBinding},
77 matcher{concrete},
78 lifetime{inLifetime}
79{
80}
81
83 enum Lifetime inLifetime,
84 std::vector<ConfigParamSpec> const& metadata_)
85 : binding{OutputLabel{""}},
86 matcher{dataType},
87 lifetime{inLifetime},
88 metadata{metadata_}
89{
90}
91
93 enum Lifetime inLifetime,
94 std::vector<ConfigParamSpec> const& metadata_)
95 : binding{inBinding},
96 matcher{dataType},
97 lifetime{inLifetime},
98 metadata{metadata_}
99{
100}
101
102bool OutputSpec::operator==(OutputSpec const& that) const
103{
104 return this->matcher == that.matcher &&
105 lifetime == that.lifetime;
106};
107
108} // namespace o2::framework
Defining PrimaryVertex explicitly as messageable.
Definition TFIDInfo.h:20
Lifetime
Possible Lifetime of objects being exchanged by the DPL.
Definition Lifetime.h:18
std::variant< ConcreteDataMatcher, ConcreteDataTypeMatcher > matcher
Definition OutputSpec.h:36
bool operator==(OutputSpec const &that) const
OutputSpec(OutputLabel const &inBinding, header::DataOrigin inOrigin, header::DataDescription inDescription, header::DataHeader::SubSpecificationType inSubSpec, enum Lifetime lifetime_=Lifetime::Timeframe, std::vector< ConfigParamSpec > const &metadata_={})
Build a fully qualified tuple for the OutputSpec.
uint32_t SubSpecificationType
Definition DataHeader.h:620