]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Move declaration of nested class to .cc file.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 14 Feb 2010 00:53:17 +0000 (00:53 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Sun, 14 Feb 2010 00:53:17 +0000 (00:53 +0000)
git-svn-id: https://svn.dealii.org/trunk@20612 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/deal.II/include/fe/fe_values.h
deal.II/deal.II/source/fe/fe_values.cc

index 0dd2b7a95dc608db770d21e309776b54bf18f7f5..8dd4ee1827abbf74a1274234cd4155a4f921f4c3 100644 (file)
@@ -53,32 +53,6 @@ template <int dim, int spacedim=dim> class FEValuesBase;
 template <typename Number> class Vector;
 template <typename Number> class BlockVector;
 
-#ifdef DEAL_II_USE_PETSC
-namespace PETScWrappers
-{
-  class Vector;
-  class BlockVector;
-
-  namespace MPI
-  {
-    class Vector;
-    class BlockVector;
-  }
-}
-#endif
-
-#ifdef DEAL_II_USE_TRILINOS
-namespace TrilinosWrappers
-{
-  class Vector;
-  class BlockVector;
-  namespace MPI
-  {
-    class Vector;
-    class BlockVector;
-  }
-}
-#endif
 
 /**
  * A namespace in which we declare "extractors", i.e. classes that when used
@@ -2026,7 +2000,7 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
                              const VectorSlice<const std::vector<unsigned int> >& indices,
                              VectorSlice<std::vector<std::vector<double> > > values,
                              const bool quadrature_points_fastest) const;
-    
+
                                     /**
                                      * Compute the gradients of the finite
                                      * element function characterized
@@ -2707,202 +2681,7 @@ class FEValuesBase : protected FEValuesData<dim,spacedim>,
                                       *
                                       * @author Wolfgang Bangerth, 2003
                                       */
-    class CellIteratorBase
-    {
-      public:
-                                         /**
-                                          * Destructor. Made virtual
-                                          * since we store only
-                                          * pointers to the base
-                                          * class.
-                                          */
-        virtual ~CellIteratorBase ();
-
-                                         /**
-                                          * Conversion operator to an
-                                          * iterator for
-                                          * triangulations. This
-                                          * conversion is implicit for
-                                          * the original iterators,
-                                          * since they are derived
-                                          * classes. However, since
-                                          * here we have kind of a
-                                          * parallel class hierarchy,
-                                          * we have to have a
-                                          * conversion operator.
-                                          */
-        virtual
-        operator const typename Triangulation<dim,spacedim>::cell_iterator () const = 0;
-
-                                         /**
-                                          * Return the number of
-                                          * degrees of freedom the DoF
-                                          * handler object has to
-                                          * which the iterator belongs
-                                          * to.
-                                          */
-        virtual
-        unsigned int
-        n_dofs_for_dof_handler () const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const Vector<double> &in,
-                                     Vector<double>       &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const Vector<float> &in,
-                                     Vector<float>       &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const Vector<long double> &in,
-                                     Vector<long double>       &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const BlockVector<double> &in,
-                                     Vector<double>       &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const BlockVector<float> &in,
-                                     Vector<float>       &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const BlockVector<long double> &in,
-                                     Vector<long double>       &out) const = 0;
-
-#ifdef DEAL_II_USE_PETSC
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const PETScWrappers::Vector &in,
-                                     Vector<PetscScalar>         &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const PETScWrappers::BlockVector &in,
-                                     Vector<PetscScalar>              &out) const = 0;
-
-                                        /**
-                                         * Call
-                                         * @p get_interpolated_dof_values
-                                         * of the iterator with the
-                                         * given arguments.
-                                         */
-       virtual
-       void
-       get_interpolated_dof_values (const PETScWrappers::MPI::Vector &in,
-                                    Vector<PetscScalar>         &out) const = 0;
-
-                                        /**
-                                         * Call
-                                         * @p get_interpolated_dof_values
-                                         * of the iterator with the
-                                         * given arguments.
-                                         */
-       virtual
-       void
-       get_interpolated_dof_values (const PETScWrappers::MPI::BlockVector &in,
-                                    Vector<PetscScalar>              &out) const = 0;
-#endif
-
-#ifdef DEAL_II_USE_TRILINOS
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
-                                     Vector<TrilinosScalar>         &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in,
-                                     Vector<TrilinosScalar>              &out) const = 0;
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-
-        virtual
-        void
-        get_interpolated_dof_values (const TrilinosWrappers::MPI::Vector &in,
-                                     Vector<TrilinosScalar>              &out) const = 0;
-
-                                         /**
-                                          * Call
-                                          * @p get_interpolated_dof_values
-                                          * of the iterator with the
-                                          * given arguments.
-                                          */
-        virtual
-        void
-        get_interpolated_dof_values (const TrilinosWrappers::MPI::BlockVector &in,
-                                     Vector<TrilinosScalar>                   &out) const = 0;
-#endif
-    };
+    class CellIteratorBase;
 
                                     /**
                                      * Forward declaration of classes derived
index 0094d67eec094d58eed66e7c8dac0ff8c8e8c4c7..ab6361add0c27312348e40b73b7a623590a273cd 100644 (file)
@@ -1102,6 +1102,183 @@ namespace internal
 
 /* ---------------- FEValuesBase<dim,spacedim>::CellIteratorBase --------- */
 
+template <int dim, int spacedim>
+class FEValuesBase<dim,spacedim>::CellIteratorBase
+{
+  public:
+                                    /**
+                                     * Destructor. Made virtual
+                                     * since we store only
+                                     * pointers to the base
+                                     * class.
+                                     */
+    virtual ~CellIteratorBase ();
+
+                                    /**
+                                     * Conversion operator to an
+                                     * iterator for
+                                     * triangulations. This
+                                     * conversion is implicit for
+                                     * the original iterators,
+                                     * since they are derived
+                                     * classes. However, since
+                                     * here we have kind of a
+                                     * parallel class hierarchy,
+                                     * we have to have a
+                                     * conversion operator.
+                                     */
+    virtual
+    operator const typename Triangulation<dim,spacedim>::cell_iterator () const = 0;
+
+                                    /**
+                                     * Return the number of
+                                     * degrees of freedom the DoF
+                                     * handler object has to
+                                     * which the iterator belongs
+                                     * to.
+                                     */
+    virtual
+    unsigned int
+    n_dofs_for_dof_handler () const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const Vector<double> &in,
+                                Vector<double>       &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const Vector<float> &in,
+                                Vector<float>       &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const Vector<long double> &in,
+                                Vector<long double>       &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const BlockVector<double> &in,
+                                Vector<double>       &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const BlockVector<float> &in,
+                                Vector<float>       &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const BlockVector<long double> &in,
+                                Vector<long double>       &out) const = 0;
+
+#ifdef DEAL_II_USE_PETSC
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const PETScWrappers::Vector &in,
+                                Vector<PetscScalar>         &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const PETScWrappers::BlockVector &in,
+                                Vector<PetscScalar>              &out) const = 0;
+#endif
+
+#ifdef DEAL_II_USE_TRILINOS
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const TrilinosWrappers::Vector &in,
+                                Vector<TrilinosScalar>         &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const TrilinosWrappers::BlockVector &in,
+                                Vector<TrilinosScalar>              &out) const = 0;
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+
+    virtual
+    void
+    get_interpolated_dof_values (const TrilinosWrappers::MPI::Vector &in,
+                                Vector<TrilinosScalar>              &out) const = 0;
+
+                                    /**
+                                     * Call
+                                     * @p get_interpolated_dof_values
+                                     * of the iterator with the
+                                     * given arguments.
+                                     */
+    virtual
+    void
+    get_interpolated_dof_values (const TrilinosWrappers::MPI::BlockVector &in,
+                                Vector<TrilinosScalar>                   &out) const = 0;
+#endif
+};
+
+
 template <int dim, int spacedim>
 FEValuesBase<dim,spacedim>::CellIteratorBase::~CellIteratorBase ()
 {}

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.