OpenKalman
ternary.hpp
Go to the documentation of this file.
1 /* This file is part of OpenKalman, a header-only C++ library for
2  * Kalman filters and other recursive filters.
3  *
4  * Copyright (c) 2024 Christopher Lee Ogden <ogden@gatech.edu>
5  *
6  * This Source Code Form is subject to the terms of the Mozilla Public
7  * License, v. 2.0. If a copy of the MPL was not distributed with this
8  * file, You can obtain one at https://mozilla.org/MPL/2.0/.
9  */
10 
16 #ifndef OPENKALMAN_EIGEN_TRAITS_FUNCTORS_TERNARY_HPP
17 #define OPENKALMAN_EIGEN_TRAITS_FUNCTORS_TERNARY_HPP
18 
19 #include <type_traits>
20 
21 namespace OpenKalman::Eigen3
22 {
23 
24  // Default ternary functor traits
25  template<typename Operation, typename Arg1, typename Arg2, typename Arg3>
26  struct TernaryFunctorTraits
27  {
33  template<bool is_diag, typename Arg>
34  static constexpr auto get_constant(const Arg& arg)
35  {
36  return std::monostate {};
37  }
38 
39  template<TriangleType t>
40  static constexpr bool is_triangular = false;
41 
42  static constexpr bool is_hermitian = false;
43  };
44 
45 
46 } // namespace OpenKalman::Eigen3
47 
48 #endif //OPENKALMAN_EIGEN_TRAITS_FUNCTORS_TERNARY_HPP
static constexpr auto get_constant(const Arg &arg)
Return a scalar constant or std::monostate.
Definition: ternary.hpp:34
Definition: eigen-forward-declarations.hpp:22