// SPDX-FileCopyrightText: 2021-2024 The Ikarus Developers mueller@ibb.uni-stuttgart.de
// SPDX-License-Identifier: LGPL-3.0-or-later

/**
 * \file
 * \brief Defines the ControlInformation structure for storing control results.
 * @ingroup  controlroutines
 */

#pragma once

#include <ikarus/solver/nonlinearsolver/solverinfos.hh>

namespace Ikarus {

/**
 * \struct ControlInformation
 * \brief Structure containing information about the control results.
 */
struct ControlInformation
{
  bool success{false}; ///< Flag indicating the success of the control.
  std::vector<Ikarus::NonLinearSolverInformation>
      solverInfos{};      ///< Vector containing information from nonlinear solvers.
  int totalIterations{0}; ///< Total number of iterations performed.
};

} // namespace Ikarus
