The Gaudi Framework  v39r1 (adb068b2)
Producer.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2023 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
11 #pragma once
12 
13 #include "Transformer.h"
14 #include <utility>
15 
16 namespace Gaudi::Functional {
17 
18  namespace details {
19 
20  template <typename Signature, typename Traits_, bool isLegacy>
21  struct Producer;
22 
23  template <typename... Out, typename Traits_, bool legacy>
24  struct Producer<std::tuple<Out...>(), Traits_, legacy> : MultiTransformer<std::tuple<Out...>(), Traits_, legacy> {
25  using MultiTransformer<std::tuple<Out...>(), Traits_, legacy>::MultiTransformer;
26  };
27 
28  template <typename Out, typename Traits_, bool legacy>
29  struct Producer<Out(), Traits_, legacy> : Transformer<Out(), Traits_, legacy> {
30  using Transformer<Out(), Traits_, legacy>::Transformer;
31  };
32 
33  } // namespace details
34 
35  template <typename Signature, typename Traits_ = Traits::useDefaults>
37 
38 } // namespace Gaudi::Functional
std::tuple
details
Definition: AnyDataWrapper.h:19
Transformer.h
Gaudi::Functional::details::Producer
Definition: Producer.h:21
Gaudi::Functional
Definition: Consumer.h:18
Gaudi ::Functional::MultiTransformer
details::MultiTransformer< Signature, Traits_, details::isLegacy< Traits_ > > MultiTransformer
Definition: Transformer.h:240
std
STL namespace.
Gaudi ::Functional::Transformer
details::Transformer< Signature, Traits_, details::isLegacy< Traits_ > > Transformer
Definition: Transformer.h:237