// This file is part of Eigen, a lightweight C++ template library
// for linear algebra.
//
// Copyright (C) 20010-2011 Hauke Heibel <hauke.heibel@gmail.com>
//
// 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/.

#ifndef EIGEN_SPLINES_MODULE_H
#define EIGEN_SPLINES_MODULE_H

namespace Eigen {
/**
 * \defgroup Splines_Module Spline and spline fitting module
 *
 * This module provides a simple multi-dimensional spline class while
 * offering most basic functionality to fit a spline to point sets.
 *
 * \code
 * #include <unsupported/Eigen/Splines>
 * \endcode
 */
}

#include "../../Eigen/src/Core/util/DisableStupidWarnings.h"

// IWYU pragma: begin_exports
#include "src/Splines/SplineFwd.h"
#include "src/Splines/Spline.h"
#include "src/Splines/SplineFitting.h"
// IWYU pragma: end_exports

#include "../../Eigen/src/Core/util/ReenableStupidWarnings.h"

#endif  // EIGEN_SPLINES_MODULE_H
