]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Instantiate a bunch of templates using the pre-processor.
authorbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 3 Sep 2008 02:42:17 +0000 (02:42 +0000)
committerbangerth <bangerth@0785d39b-7218-0410-832d-ea1e28bc413d>
Wed, 3 Sep 2008 02:42:17 +0000 (02:42 +0000)
git-svn-id: https://svn.dealii.org/trunk@16719 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/common/template-arguments.in
deal.II/deal.II/source/grid/grid_tools.cc
deal.II/deal.II/source/grid/grid_tools.inst.in [new file with mode: 0644]
deal.II/deal.II/source/grid/intergrid_map.cc
deal.II/deal.II/source/grid/intergrid_map.inst.in [new file with mode: 0644]

index c15d4524ed88af5ca287f3d8cec0f3f183f1f6de..588594492192992f9f1059dab7653a2201838bf9 100644 (file)
@@ -19,3 +19,12 @@ SERIAL_VECTORS := { Vector<double>;
                    @DEAL_II_EXPAND_TRILINOS_BLOCKVECTOR@;
                    @DEAL_II_EXPAND_PETSC_BLOCKVECTOR@;
                   }
+
+DOFHANDLERS := { DoFHandler<deal_II_dimension>;
+                 hp::DoFHandler<deal_II_dimension>;
+                MGDoFHandler<deal_II_dimension> }
+
+TRIANGULATION_AND_DOFHANDLERS := { Triangulation<deal_II_dimension>;
+                                   DoFHandler<deal_II_dimension>;
+                                   hp::DoFHandler<deal_II_dimension>;
+                                  MGDoFHandler<deal_II_dimension> }
\ No newline at end of file
index ec733f3fe4103add165824156caf1466c68f4684..cfa7f16573b3a314aeda925bf8fe1452849aa7ca 100644 (file)
@@ -1241,90 +1241,6 @@ template
 void GridTools::scale<deal_II_dimension> (const double,
                                          Triangulation<deal_II_dimension> &);
 
-template
-unsigned int
-GridTools::find_closest_vertex (const Triangulation<deal_II_dimension> &,
-                                const Point<deal_II_dimension> &);
-
-template
-unsigned int
-GridTools::find_closest_vertex (const DoFHandler<deal_II_dimension> &,
-                                const Point<deal_II_dimension> &);
-
-template
-unsigned int
-GridTools::find_closest_vertex (const hp::DoFHandler<deal_II_dimension> &,
-                                const Point<deal_II_dimension> &);
-
-template
-unsigned int
-GridTools::find_closest_vertex (const MGDoFHandler<deal_II_dimension> &,
-                                const Point<deal_II_dimension> &);
-
-template
-std::vector<Triangulation<deal_II_dimension>::active_cell_iterator>
-GridTools::find_cells_adjacent_to_vertex(const Triangulation<deal_II_dimension> &,
-                                         const unsigned int);
-
-template
-std::vector<DoFHandler<deal_II_dimension>::active_cell_iterator>
-GridTools::find_cells_adjacent_to_vertex(const DoFHandler<deal_II_dimension> &,
-                                         const unsigned int);
-
-template
-std::vector<hp::DoFHandler<deal_II_dimension>::active_cell_iterator>
-GridTools::find_cells_adjacent_to_vertex(const hp::DoFHandler<deal_II_dimension> &,
-                                         const unsigned int);
-
-template
-std::vector<MGDoFHandler<deal_II_dimension>::active_cell_iterator>
-GridTools::find_cells_adjacent_to_vertex(const MGDoFHandler<deal_II_dimension> &,
-                                         const unsigned int);
-
-template
-Triangulation<deal_II_dimension>::active_cell_iterator
-GridTools::find_active_cell_around_point (const Triangulation<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &p);
-
-template
-DoFHandler<deal_II_dimension>::active_cell_iterator
-GridTools::find_active_cell_around_point (const DoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &p);
-
-template
-hp::DoFHandler<deal_II_dimension>::active_cell_iterator
-GridTools::find_active_cell_around_point (const hp::DoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &p);
-
-template
-MGDoFHandler<deal_II_dimension>::active_cell_iterator
-GridTools::find_active_cell_around_point (const MGDoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &p);
-
-template
-std::pair<Triangulation<deal_II_dimension>::active_cell_iterator, Point<deal_II_dimension> >
-GridTools::find_active_cell_around_point (const Mapping<deal_II_dimension> &,
-                                          const Triangulation<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &);
-
-template
-std::pair<DoFHandler<deal_II_dimension>::active_cell_iterator, Point<deal_II_dimension> >
-GridTools::find_active_cell_around_point (const Mapping<deal_II_dimension> &,
-                                          const DoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &);
-
-template
-std::pair<MGDoFHandler<deal_II_dimension>::active_cell_iterator, Point<deal_II_dimension> >
-GridTools::find_active_cell_around_point (const Mapping<deal_II_dimension> &,
-                                          const MGDoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &);
-
-template
-std::pair<hp::DoFHandler<deal_II_dimension>::active_cell_iterator, Point<deal_II_dimension> >
-GridTools::find_active_cell_around_point (const Mapping<deal_II_dimension> &,
-                                          const hp::DoFHandler<deal_II_dimension> &,
-                                          const Point<deal_II_dimension> &);
-
 template
 std::pair<hp::DoFHandler<deal_II_dimension>::active_cell_iterator, Point<deal_II_dimension> >
 GridTools::find_active_cell_around_point (const hp::MappingCollection<deal_II_dimension> &,
@@ -1355,55 +1271,6 @@ count_cells_with_subdomain_association (const Triangulation<deal_II_dimension> &
                                         const unsigned int        );
 
 
-template
-std::list<std::pair<Triangulation<deal_II_dimension>::cell_iterator,
-                    Triangulation<deal_II_dimension>::cell_iterator> >
-GridTools::
-get_finest_common_cells (const Triangulation<deal_II_dimension> &mesh_1,
-                         const Triangulation<deal_II_dimension> &mesh_2);
-
-template
-std::list<std::pair<DoFHandler<deal_II_dimension>::cell_iterator,
-                    DoFHandler<deal_II_dimension>::cell_iterator> >
-GridTools::
-get_finest_common_cells (const DoFHandler<deal_II_dimension> &mesh_1,
-                         const DoFHandler<deal_II_dimension> &mesh_2);
-
-template
-std::list<std::pair<hp::DoFHandler<deal_II_dimension>::cell_iterator,
-                    hp::DoFHandler<deal_II_dimension>::cell_iterator> >
-GridTools::
-get_finest_common_cells (const hp::DoFHandler<deal_II_dimension> &mesh_1,
-                         const hp::DoFHandler<deal_II_dimension> &mesh_2);
-
-template
-std::list<std::pair<MGDoFHandler<deal_II_dimension>::cell_iterator,
-                    MGDoFHandler<deal_II_dimension>::cell_iterator> >
-GridTools::
-get_finest_common_cells (const MGDoFHandler<deal_II_dimension> &mesh_1,
-                         const MGDoFHandler<deal_II_dimension> &mesh_2);
-
-
-template
-bool
-GridTools::have_same_coarse_mesh (const Triangulation<deal_II_dimension> &mesh_1,
-                                  const Triangulation<deal_II_dimension> &mesh_2);
-
-template
-bool
-GridTools::have_same_coarse_mesh (const DoFHandler<deal_II_dimension> &mesh_1,
-                                  const DoFHandler<deal_II_dimension> &mesh_2);
-
-template
-bool
-GridTools::have_same_coarse_mesh (const hp::DoFHandler<deal_II_dimension> &mesh_1,
-                                  const hp::DoFHandler<deal_II_dimension> &mesh_2);
-
-template
-bool
-GridTools::have_same_coarse_mesh (const MGDoFHandler<deal_II_dimension> &mesh_1,
-                                  const MGDoFHandler<deal_II_dimension> &mesh_2);
-
 template
 double
 GridTools::minimal_cell_diameter (const Triangulation<deal_II_dimension> &triangulation);
@@ -1418,5 +1285,7 @@ GridTools::create_union_triangulation (const Triangulation<deal_II_dimension> &t
                                       const Triangulation<deal_II_dimension> &triangulation_2,
                                       Triangulation<deal_II_dimension>       &result);
 
+#include "grid_tools.inst"
+
 DEAL_II_NAMESPACE_CLOSE
 
diff --git a/deal.II/deal.II/source/grid/grid_tools.inst.in b/deal.II/deal.II/source/grid/grid_tools.inst.in
new file mode 100644 (file)
index 0000000..5cdd4cc
--- /dev/null
@@ -0,0 +1,50 @@
+//---------------------------------------------------------------------------
+//    $Id: grid_tools.cc 16506 2008-08-06 17:49:50Z bangerth $
+//    Version: $Name$
+//
+//    Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+
+
+
+for (X : TRIANGULATION_AND_DOFHANDLERS)
+{
+  template
+    unsigned int
+    GridTools::find_closest_vertex (const X &,
+                                   const Point<deal_II_dimension> &);
+
+  template
+    std::vector<X::active_cell_iterator>
+    GridTools::find_cells_adjacent_to_vertex(const X &,
+                                            const unsigned int);
+
+  template
+    X::active_cell_iterator
+    GridTools::find_active_cell_around_point (const X &,
+                                             const Point<deal_II_dimension> &p);
+
+  template
+    std::pair<X::active_cell_iterator, Point<deal_II_dimension> >
+    GridTools::find_active_cell_around_point (const Mapping<deal_II_dimension> &,
+                                             const X &,
+                                             const Point<deal_II_dimension> &);
+
+  template
+    std::list<std::pair<X::cell_iterator, X::cell_iterator> >
+    GridTools::
+    get_finest_common_cells (const X &mesh_1,
+                            const X &mesh_2);
+
+
+  template
+    bool
+    GridTools::have_same_coarse_mesh (const X &mesh_1,
+                                     const X &mesh_2);  
+}
index d0ccbe2c556e79b053baf022e4b601fa9ab44339..0030deab7fd61cd7d7064b0ddd9897583b9239cd 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 by the deal.II authors
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 by the deal.II authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
@@ -236,11 +236,7 @@ InterGridMap<GridClass>::memory_consumption () const
 
   
 // explicit instantiations
-template class InterGridMap<Triangulation<deal_II_dimension> >;
-template class InterGridMap<DoFHandler<deal_II_dimension> >;
-
-template class InterGridMap<hp::DoFHandler<deal_II_dimension> >;
-template class InterGridMap<MGDoFHandler<deal_II_dimension> >;
+#include "intergrid_map.inst"
 
 DEAL_II_NAMESPACE_CLOSE
 
diff --git a/deal.II/deal.II/source/grid/intergrid_map.inst.in b/deal.II/deal.II/source/grid/intergrid_map.inst.in
new file mode 100644 (file)
index 0000000..62bd464
--- /dev/null
@@ -0,0 +1,19 @@
+//---------------------------------------------------------------------------
+//    $Id: intergrid_map.cc 16430 2008-07-08 15:25:01Z hartmann $
+//    Version: $Name$
+//
+//    Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2008 by the deal.II authors
+//
+//    This file is subject to QPL and may not be  distributed
+//    without copyright and license information. Please refer
+//    to the file deal.II/doc/license.html for the  text  and
+//    further information on this license.
+//
+//---------------------------------------------------------------------------
+
+
+
+for (X : TRIANGULATION_AND_DOFHANDLERS)
+{
+  template class InterGridMap<X>;
+}

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.