<commit_before>// rbOOmit: An implementation of the Certified Reduced Basis method.
// Copyright (C) 2009, 2010 <NAME>

// This file is part of rbOOmit.

// rbOOmit is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

// rbOOmit is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.

// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#ifndef LIBMESH_RB_CONSTRUCTION_H
#define LIBMESH_RB_CONSTRUCTION_H

// rbOOmit includes
#include "libmesh/rb_construction_base.h"

// libMesh includes
#include "libmesh/linear_implicit_system.h"
#include "libmesh/dense_vector.h"
#include "libmesh/dense_matrix.h"
#include "libmesh/dg_fem_context.h"
#include "libmesh/dirichlet_boundaries.h"

// C++ includes

namespace libMesh
{

class RBThetaExpansion;
class RBAssemblyExpansion;
class RBEvaluation;
class ElemAssembly;

/**
 * This class is part of the rbOOmit framework.
 *
 * RBConstruction implements the Construction stage
 * of the certified reduced basis method for
 * steady-state elliptic parametrized PDEs.
 *
 * \author <NAME>
 * \date 2009
 */
class RBConstruction : public RBConstructionBase<LinearImplicitSystem>
{
public:

  /**
   * Constructor.  Optionally initializes required
   * data structures.
   */
  RBConstruction (EquationSystems & es,
                  const std::string & name,
                  const unsigned int number);

  /**
   * Special functions.
   * - This class contains unique_ptrs so it can't be default copy assigned/constructed
   * - Destructor is defaulted out-of-line
   */
  RBConstruction (RBConstruction &&) = default;
  RBConstruction (const RBConstruction &) = delete;
  RBConstruction & operator= (const RBConstruction &) = delete;
  RBConstruction & operator= (RBConstruction &&) = default;
  virtual ~RBConstruction ();

  /**
   * The type of system.
   */<commit_msg>Explicitly delete deleted-by-default RBC moves<commit_after>// rbOOmit: An implementation of the Certified Reduced Basis method.
// Copyright (C) 2009, 2010 <NAME>

// This file is part of rbOOmit.

// rbOOmit is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// version 2.1 of the License, or (at your option) any later version.

// rbOOmit is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
// Lesser General Public License for more details.

// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

#ifndef LIBMESH_RB_CONSTRUCTION_H
#define LIBMESH_RB_CONSTRUCTION_H

// rbOOmit includes
#include "libmesh/rb_construction_base.h"

// libMesh includes
#include "libmesh/linear_implicit_system.h"
#include "libmesh/dense_vector.h"
#include "libmesh/dense_matrix.h"
#include "libmesh/dg_fem_context.h"
#include "libmesh/dirichlet_boundaries.h"

// C++ includes

namespace libMesh
{

class RBThetaExpansion;
class RBAssemblyExpansion;
class RBEvaluation;
class ElemAssembly;

/**
 * This class is part of the rbOOmit framework.
 *
 * RBConstruction implements the Construction stage
 * of the certified reduced basis method for
 * steady-state elliptic parametrized PDEs.
 *
 * \author <NAME>
 * \date 2009
 */
class RBConstruction : public RBConstructionBase<LinearImplicitSystem>
{
public:

  /**
   * Constructor.  Optionally initializes required
   * data structures.
   */
  RBConstruction (EquationSystems & es,
                  const std::string & name,
                  const unsigned int number);

  /**
   * Special functions.
   * - This class contains unique_ptrs so it can't be default copy assigned/constructed
   * - This class inherits from System so it can't be default move assigned/constructed
   *   (to be defaulted later, after we make the System tree move-compatible)
   * - Destructor is defaulted out-of-line
   */
  RBConstruction (RBConstruction &&) = delete;
  RBConstruction (const RBConstruction &) = delete;
  RBConstruction & operator= (const RBConstruction &) = delete;
  RBConstruction & operator= (RBConstruction &&) = delete;
  virtual ~RBConstruction ();

  /**
   * The type of system.
   */
{'fraction_non_alphanumeric': 0.08382622883948602, 'fraction_numerical': 0.011421578625331429, 'mean_word_length': 3.7427466150870408, 'pattern_counts': {'":': 0, '<': 9, '<?xml version=': 0, '>': 9, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6330932', 'n_tokens_mistral': 1485, 'n_tokens_neox': 1348, 'n_words': 537}