Sacado Package Browser (Single Doxygen Collection)  Version of the Day
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Sacado_mpl_apply.hpp
Go to the documentation of this file.
1 // @HEADER
2 // *****************************************************************************
3 // Sacado Package
4 //
5 // Copyright 2006 NTESS and the Sacado contributors.
6 // SPDX-License-Identifier: LGPL-2.1-or-later
7 // *****************************************************************************
8 // @HEADER
9 
10 #ifndef SACADO_MPL_APPLY_HPP
11 #define SACADO_MPL_APPLY_HPP
12 
14 #include "Sacado_mpl_lambda.hpp"
15 #include "Sacado_mpl_none.hpp"
16 
17 namespace Sacado {
18 
19  namespace mpl {
20 
21  template <class F>
22  struct apply0 : apply_wrap0<typename lambda<F>::type> {};
23 
24  template <class F, class A1>
25  struct apply1 : apply_wrap1<typename lambda<F>::type,A1> {};
26 
27  template <class F, class A1, class A2>
28  struct apply2 : apply_wrap2<typename lambda<F>::type,A1,A2> {};
29 
30  template <class F, class A1, class A2, class A3>
31  struct apply3 : apply_wrap3<typename lambda<F>::type,A1,A2,A3> {};
32 
33  template <class F, class A1, class A2, class A3, class A4>
34  struct apply4 : apply_wrap4<typename lambda<F>::type,A1,A2,A3,A4> {};
35 
36  template <class F, class A1, class A2, class A3, class A4, class A5>
37  struct apply5 : apply_wrap5<typename lambda<F>::type,A1,A2,A3,A4,A5> {};
38 
39  template <class F,
40  class A1=mpl::none,
41  class A2=mpl::none,
42  class A3=mpl::none,
43  class A4=mpl::none,
44  class A5=mpl::none>
45  struct apply : apply_wrap<typename lambda<F>::type,A1,A2,A3,A4,A5> {};
46 
47  } // namespace mpl
48 
49 } // namespace Sacado
50 
51 #endif // SACADO_MPL_APPLY_HPP
Sacado::Fad::DFad< double > F
Definition: ad_example.cpp:20