// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 2008-2009 Gael Guennebaud <g.gael@free.fr>
//
// This Source Code Form is subject to the terms of the Mozilla
// Public License v. 2.0. If a copy of the MPL was not distributed
// with this file, You can obtain one at http://mozilla.org/MPL/2.0/.
// SPDX-License-Identifier: MPL-2.0

#ifndef EIGEN_ITERATIVE_SOLVERS_MODULE_H
#define EIGEN_ITERATIVE_SOLVERS_MODULE_H

// The contents of this module have been promoted to the supported
// Eigen/IterativeLinearSolvers module. This header is retained as a thin
// forwarding shim for backwards compatibility and may be removed in a future
// release. Please include <Eigen/IterativeLinearSolvers> directly instead.
#ifndef EIGEN_NO_DEPRECATED_WARNING
#pragma message( \
    "unsupported/Eigen/IterativeSolvers is deprecated and forwards to <Eigen/IterativeLinearSolvers>; please include that header directly. Define EIGEN_NO_DEPRECATED_WARNING to silence this message.")
#endif

#include "../../Eigen/IterativeLinearSolvers"

#endif  // EIGEN_ITERATIVE_SOLVERS_MODULE_H
