]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Move code closer to the C++ standard.
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 24 May 1998 21:10:13 +0000 (21:10 +0000)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Sun, 24 May 1998 21:10:13 +0000 (21:10 +0000)
git-svn-id: https://svn.dealii.org/trunk@344 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/source/quadrature_lib.cc
deal.II/deal.II/include/dofs/dof_accessor.h
deal.II/deal.II/include/grid/geometry_info.h
deal.II/deal.II/include/grid/tria_accessor.h
deal.II/deal.II/include/grid/tria_iterator.h
deal.II/deal.II/include/grid/tria_iterator.templates.h
deal.II/deal.II/source/dofs/dof_handler.cc
deal.II/deal.II/source/fe/fe.cc
deal.II/deal.II/source/fe/fe_lib.linear.cc
deal.II/deal.II/source/grid/tria_accessor.cc

index f2e64ccdf2e7fd27c0982ead4575618c1b560380..127862ba9b46a8eb3cbe9026ddf6d54f05b815d8 100644 (file)
@@ -5,6 +5,7 @@
 
 
 
+template <>
 QGauss2<1>::QGauss2 () :
                Quadrature<1> (2)
 {
@@ -28,6 +29,7 @@ QGauss2<1>::QGauss2 () :
 
 
 
+template <>
 QGauss2<2>::QGauss2 () :
                Quadrature<2> (4)
 {
@@ -61,6 +63,7 @@ QGauss2<2>::QGauss2 () :
 
 
 
+template <>
 QGauss3<1>::QGauss3 () :
                Quadrature<1> (3)
 {
@@ -90,6 +93,7 @@ QGauss3<1>::QGauss3 () :
 
 
 
+template <>
 QGauss3<2>::QGauss3 () :
                Quadrature<2> (9)
 {
@@ -143,6 +147,7 @@ QGauss3<2>::QGauss3 () :
 
 
 
+template <>
 QGauss4<1>::QGauss4 () :
                Quadrature<1> (4)
 {
@@ -176,6 +181,7 @@ QGauss4<1>::QGauss4 () :
 
 
 
+template <>
 QGauss4<2>::QGauss4 () :
                Quadrature<2> (16)
 {
@@ -250,6 +256,7 @@ QGauss4<2>::QGauss4 () :
 
 
 
+template <>
 QGauss5<1>::QGauss5 () :
                Quadrature<1> (5)
 {
@@ -287,6 +294,7 @@ QGauss5<1>::QGauss5 () :
 
 
 
+template <>
 QGauss5<2>::QGauss5 () :
                Quadrature<2> (25)
 {
@@ -403,6 +411,7 @@ QGauss5<2>::QGauss5 () :
 
 
 
+template <>
 QGauss6<1>::QGauss6 () :
                Quadrature<1> (6)
 {
@@ -444,6 +453,7 @@ QGauss6<1>::QGauss6 () :
 
 
 
+template <>
 QGauss7<1>::QGauss7 () :
                Quadrature<1> (7)
 {
@@ -489,6 +499,7 @@ QGauss7<1>::QGauss7 () :
 
 
 
+template <>
 QGauss8<1>::QGauss8 () :
                Quadrature<1> (8)
 {
@@ -544,6 +555,7 @@ QGauss8<1>::QGauss8 () :
 
 
 
+template <>
 QMidpoint<1>::QMidpoint () :
                Quadrature<1>(1)
 {
@@ -553,6 +565,7 @@ QMidpoint<1>::QMidpoint () :
 
 
 
+template <>
 QMidpoint<2>::QMidpoint () :
                Quadrature<2>(1)
 {
@@ -563,6 +576,7 @@ QMidpoint<2>::QMidpoint () :
 
 
 
+template <>
 QSimpson<1>::QSimpson () :
                Quadrature<1> (3)
 {
@@ -578,6 +592,7 @@ QSimpson<1>::QSimpson () :
 
 
 
+template <>
 QSimpson<2>::QSimpson () :
                Quadrature<2> (9)
 {
@@ -603,6 +618,7 @@ QSimpson<2>::QSimpson () :
 
 
 
+template <>
 QTrapez<1>::QTrapez () :
                Quadrature<1> (2)
 {
@@ -618,6 +634,7 @@ QTrapez<1>::QTrapez () :
 
 
 
+template <>
 QTrapez<2>::QTrapez () :
                Quadrature<2> (4)
 {
index 1f9b25ff0df25137e54a1103d43805c4bfefd5bc..9344e8b1388a907e33f597e9570fa31b34ad53f1 100644 (file)
@@ -152,7 +152,7 @@ class DoFAccessor {
  *
  * The same concept is used with #DoFQuadAccessor# classes etc.
  */
-template <int dim, class BaseClass>
+template <int dim, typename BaseClass>
 class DoFLineAccessor :  public DoFAccessor<dim>, public BaseClass {
   public:
                                     /**
@@ -237,7 +237,7 @@ class DoFLineAccessor :  public DoFAccessor<dim>, public BaseClass {
  *
  * @see DoFLineAccessor
  */
-template <int dim, class BaseClass>
+template <int dim, typename BaseClass>
 class DoFQuadAccessor :  public DoFAccessor<dim>, public BaseClass {
   public:
                                     /**
@@ -376,6 +376,7 @@ class DoFSubstructAccessor : public DoFAccessor<dim>,
  * and one for #DoFCellAccessor<2>#, derived from
  * #DoFQuadAccessor<2,CellAccessor<2> >#.
  */
+template <>
 class DoFSubstructAccessor<1> :  public DoFLineAccessor<1,CellAccessor<1> > {
   public:
                                     /**
@@ -402,6 +403,7 @@ class DoFSubstructAccessor<1> :  public DoFLineAccessor<1,CellAccessor<1> > {
  *
  * @see DoFSubstructAccessor<1>
  */
+template <>
 class DoFSubstructAccessor<2> : public DoFQuadAccessor<2,CellAccessor<2> > {
   public:
                                     /**
index 3665626d774efc99fe83696b2a9dd1f61368fc7d..f683a8dbfbfd6c9983d6133888f0227b90c50a49 100644 (file)
@@ -20,6 +20,7 @@ template <int dim> struct GeometryInfo;
  *  to think about their number in a dimension independent expression.
  *  This not only reduces thinking effort but also error possibilities.
  */
+template <>
 struct GeometryInfo<1> {
   public:
                                     /**
@@ -66,6 +67,7 @@ struct GeometryInfo<1> {
  *  to think about their number in a dimension independent expression.
  *  This not only reduces thinking effort but also error possibilities.
  */
+template <>
 struct GeometryInfo<2> {
   public:
                                     /**
index 1c7177f4faced7342db38ed1fa2dcd9594c7968c..28566d98c60cd950a4b9f917a1064a742d27f71a 100644 (file)
@@ -754,6 +754,7 @@ class TriaSubstructAccessor;
  * and one for #CellAccessor<2>#, derived from
  * #QuadAccessor<2>#.
  */
+template <>
 class TriaSubstructAccessor<1> :  public LineAccessor<1> {
   public:
                                     /**
@@ -781,6 +782,7 @@ class TriaSubstructAccessor<1> :  public LineAccessor<1> {
  *
  * @see TriaSubstructAccessor<1>
  */
+template <>
 class TriaSubstructAccessor<2> : public QuadAccessor<2> {
   public:
                                     /**
index ee05a5be5278a1695ef2498ea766f7c8d4ad05ab..a97716d9a48246a8367ff4eac0731bca92deadfd 100644 (file)
@@ -234,7 +234,7 @@ template <int dim> class Triangulation;
  *   @see TriaDimensionInfo
  *   @author Wolfgang Bangerth, 1998
  */
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 class TriaRawIterator : public bidirectional_iterator<Accessor,int>{
   public:
                                     /**
@@ -445,7 +445,7 @@ class TriaRawIterator : public bidirectional_iterator<Accessor,int>{
  *   This specialization of \Ref{TriaRawIterator} provides access only to the
  *   {\it used} lines, quads, cells, etc.
  */
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 class TriaIterator : public TriaRawIterator<dim,Accessor> {
   public:
                                     /**
@@ -562,7 +562,7 @@ class TriaIterator : public TriaRawIterator<dim,Accessor> {
  *   {\it active} lines, quads, cells, etc. An active cell is a cell which is not
  *   refined and thus a cell on which calculations on the finest level are done.
  */
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 class TriaActiveIterator : public TriaIterator<dim,Accessor> {
   public:
                                     /**
@@ -698,7 +698,7 @@ class TriaActiveIterator : public TriaIterator<dim,Accessor> {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 const Accessor &
 TriaRawIterator<dim,Accessor>::operator * () const {
@@ -709,7 +709,7 @@ TriaRawIterator<dim,Accessor>::operator * () const {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 Accessor &
 TriaRawIterator<dim,Accessor>::operator * () {
@@ -719,7 +719,7 @@ TriaRawIterator<dim,Accessor>::operator * () {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 const Accessor *
 TriaRawIterator<dim,Accessor>::operator -> () const {
@@ -728,7 +728,7 @@ TriaRawIterator<dim,Accessor>::operator -> () const {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 Accessor *
 TriaRawIterator<dim,Accessor>::operator -> () {
@@ -738,7 +738,7 @@ TriaRawIterator<dim,Accessor>::operator -> () {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 IteratorState TriaRawIterator<dim,Accessor>::state () const {
   return accessor.state ();
@@ -746,7 +746,7 @@ IteratorState TriaRawIterator<dim,Accessor>::state () const {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 bool TriaRawIterator<dim,Accessor>::operator < (const TriaRawIterator &i) const {
   Assert (state() != invalid, ExcDereferenceInvalidObject());
@@ -762,7 +762,7 @@ bool TriaRawIterator<dim,Accessor>::operator < (const TriaRawIterator &i) const
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 TriaRawIterator<dim,Accessor> &
 TriaRawIterator<dim,Accessor>::operator ++ () {
@@ -774,7 +774,7 @@ TriaRawIterator<dim,Accessor>::operator ++ () {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 TriaRawIterator<dim,Accessor> &
 TriaRawIterator<dim,Accessor>::operator -- () {
@@ -786,7 +786,7 @@ TriaRawIterator<dim,Accessor>::operator -- () {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 void TriaRawIterator<dim,Accessor>::print (ostream &out) const {
   out << accessor.level() << "." << accessor.index();
@@ -794,7 +794,7 @@ void TriaRawIterator<dim,Accessor>::print (ostream &out) const {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 ostream & operator << (ostream &out, const TriaRawIterator<dim,Accessor> &i) {
   i.print(out);
@@ -803,7 +803,7 @@ ostream & operator << (ostream &out, const TriaRawIterator<dim,Accessor> &i) {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i) {
   i.print(out);
@@ -812,7 +812,7 @@ ostream & operator << (ostream &out, const TriaIterator<dim,Accessor> &i) {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 inline
 ostream & operator << (ostream &out, const TriaActiveIterator<dim,Accessor> &i) {
   i.print(out);
index 4e053c84ac36c74b70a8114aad859c32fa55bd76..82bb7c34f5ad6e5802ebac3c477adcd1aa01fbd6 100644 (file)
 /*------------------------ Functions: TriaRawIterator ------------------*/
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor>::TriaRawIterator () :
                accessor (0, -2, -2, 0) {};
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor>::TriaRawIterator (const TriaRawIterator<dim,Accessor> &i) :
                accessor (i.accessor) {};
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor>::TriaRawIterator (Triangulation<dim> *parent,
                                                const int           level,
                                                const int           index,
@@ -35,7 +35,7 @@ TriaRawIterator<dim,Accessor>::TriaRawIterator (Triangulation<dim> *parent,
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor> &
 TriaRawIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -45,7 +45,7 @@ TriaRawIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 bool
 TriaRawIterator<dim,Accessor>::operator == (const TriaRawIterator<dim,Accessor> &i) const {
   return accessor == i.accessor;
@@ -53,7 +53,7 @@ TriaRawIterator<dim,Accessor>::operator == (const TriaRawIterator<dim,Accessor>
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 bool
 TriaRawIterator<dim,Accessor>::operator != (const TriaRawIterator<dim,Accessor> &i) const {
   return accessor != i.accessor;
@@ -61,7 +61,7 @@ TriaRawIterator<dim,Accessor>::operator != (const TriaRawIterator<dim,Accessor>
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor> TriaRawIterator<dim,Accessor>::operator ++ (int) {
   TriaRawIterator<dim,Accessor> tmp(*this);
   this->operator++ ();
@@ -71,7 +71,7 @@ TriaRawIterator<dim,Accessor> TriaRawIterator<dim,Accessor>::operator ++ (int) {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaRawIterator<dim,Accessor> TriaRawIterator<dim,Accessor>::operator -- (int) {
   TriaRawIterator<dim,Accessor> tmp(*this);
   this->operator-- ();
@@ -85,19 +85,19 @@ TriaRawIterator<dim,Accessor> TriaRawIterator<dim,Accessor>::operator -- (int) {
 /*-----------------------  functions: TriaIterator ---------------*/
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>::TriaIterator () :
                TriaRawIterator<dim,Accessor> () {};
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>::
 TriaIterator (const TriaIterator<dim,Accessor> &i) :
                TriaRawIterator<dim,Accessor> ((TriaRawIterator<dim,Accessor>)i) {};
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>::
 TriaIterator (const TriaRawIterator<dim,Accessor> &i) :
                TriaRawIterator<dim,Accessor> (i)
@@ -117,7 +117,7 @@ TriaIterator (const TriaRawIterator<dim,Accessor> &i) :
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>::TriaIterator (Triangulation<dim> *parent,
                                          const int           level,
                                          const int           index,
@@ -139,7 +139,7 @@ TriaIterator<dim,Accessor>::TriaIterator (Triangulation<dim> *parent,
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor> &
 TriaIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -147,7 +147,7 @@ TriaIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &i) {
 };
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor> &
 TriaIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -167,7 +167,7 @@ TriaIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &i)
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator ++ () {
   while (TriaRawIterator<dim,Accessor>::operator++(),
         (state() == valid))
@@ -178,7 +178,7 @@ TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator ++ () {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>  TriaIterator<dim,Accessor>::operator ++ (int) {
   TriaIterator<dim,Accessor> tmp(*this);
   this->operator++ ();
@@ -188,7 +188,7 @@ TriaIterator<dim,Accessor>  TriaIterator<dim,Accessor>::operator ++ (int) {
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator -- () {
   while (TriaRawIterator<dim,Accessor>::operator--(),
         (state() == valid))
@@ -198,7 +198,7 @@ TriaIterator<dim,Accessor> & TriaIterator<dim,Accessor>::operator -- () {
 };
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaIterator<dim,Accessor>  TriaIterator<dim,Accessor>::operator -- (int) {
   TriaIterator<dim,Accessor> tmp(*this);
   this->operator-- ();
@@ -211,20 +211,20 @@ TriaIterator<dim,Accessor>  TriaIterator<dim,Accessor>::operator -- (int) {
 /*-----------------------  functions: TriaActiveIterator ---------------*/
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor>::TriaActiveIterator () :
                TriaIterator<dim,Accessor> () {};
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor>::
 TriaActiveIterator (const TriaActiveIterator<dim,Accessor> &i) :
                TriaIterator<dim,Accessor> ((TriaIterator<dim,Accessor>) i) {};
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor>::
 TriaActiveIterator (const TriaRawIterator<dim,Accessor> &i) :
                TriaIterator<dim,Accessor> (i)
@@ -236,14 +236,17 @@ TriaActiveIterator (const TriaRawIterator<dim,Accessor> &i) :
                                   // has_children() is called anyway, even if
                                   // state==past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+                                  //
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
+  if (this->state() != past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
 };
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor>::
 TriaActiveIterator (const TriaIterator<dim,Accessor> &i) :
                TriaIterator<dim,Accessor> (i)
@@ -255,7 +258,10 @@ TriaActiveIterator (const TriaIterator<dim,Accessor> &i) :
                                   // has_children() is called anyway, even if
                                   // state==past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+                                  //
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
+  if (this->state() != past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -263,7 +269,7 @@ TriaActiveIterator (const TriaIterator<dim,Accessor> &i) :
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor>::TriaActiveIterator (Triangulation<dim> *parent,
                                                      const int           level,
                                                      const int           index,
@@ -277,7 +283,10 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (Triangulation<dim> *parent
                                   // has_children() is called anyway, even if
                                   // state==past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+                                  //
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
+  if (this->state() != past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -285,7 +294,7 @@ TriaActiveIterator<dim,Accessor>::TriaActiveIterator (Triangulation<dim> *parent
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> &
 TriaActiveIterator<dim,Accessor>::operator = (const TriaActiveIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -294,7 +303,7 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaActiveIterator<dim,Acces
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> &
 TriaActiveIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -305,7 +314,10 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor
                                   // has_chidlren() is called anyway, even if
                                   // state==past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+                                  //
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
+  if (this->state() != past_the_end) 
     Assert (accessor.used() && accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -314,7 +326,7 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaRawIterator<dim,Accessor
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> &
 TriaActiveIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &i) {
   accessor.copy_from (i.accessor);
@@ -325,7 +337,10 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &
                                   // has_children() is called anyway, even if
                                   // state==past_the_end, and will then
                                   // throw the exception!
-  if (state() != past_the_end) 
+                                  //
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
+  if (this->state() != past_the_end) 
     Assert (accessor.has_children()==false,
            ExcAssignmentOfInactiveObject());
 #endif  
@@ -334,10 +349,12 @@ TriaActiveIterator<dim,Accessor>::operator = (const TriaIterator<dim,Accessor> &
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> & TriaActiveIterator<dim,Accessor>::operator ++ () {
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
   while (TriaIterator<dim,Accessor>::operator++(),
-        (state() == valid))
+        (this->state() == valid))
     if (accessor.has_children() == false)
       return *this;
   return *this;
@@ -345,7 +362,7 @@ TriaActiveIterator<dim,Accessor> & TriaActiveIterator<dim,Accessor>::operator ++
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> TriaActiveIterator<dim,Accessor>::operator ++ (int) {
   TriaActiveIterator<dim,Accessor> tmp(*this);
   this->operator++ ();
@@ -355,10 +372,12 @@ TriaActiveIterator<dim,Accessor> TriaActiveIterator<dim,Accessor>::operator ++ (
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> & TriaActiveIterator<dim,Accessor>::operator -- () {
+                                  // for egcs: write this-> to avoid internal
+                                  // compiler error
   while (TriaIterator<dim,Accessor>::operator--(),
-        (state() == valid))
+        (this->state() == valid))
     if (accessor.has_children() == false)
       return *this;
   return *this;
@@ -366,7 +385,7 @@ TriaActiveIterator<dim,Accessor> & TriaActiveIterator<dim,Accessor>::operator --
 
 
 
-template <int dim, class Accessor>
+template <int dim, typename Accessor>
 TriaActiveIterator<dim,Accessor> TriaActiveIterator<dim,Accessor>::operator -- (int) {
   TriaActiveIterator<dim,Accessor> tmp(*this);
   this->operator-- ();
index dc5049ac12d795216446d5c43397138a159ef20e..2ec740af63f089e0f51a59a586f6cb80b7892a3a 100644 (file)
@@ -32,6 +32,7 @@ DoFHandler<dim>::~DoFHandler () {
 
 
 
+template <>
 DoFHandler<1>::raw_cell_iterator
 DoFHandler<1>::begin_raw (const unsigned int level) const {
   return begin_raw_line (level);
@@ -39,6 +40,7 @@ DoFHandler<1>::begin_raw (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::cell_iterator
 DoFHandler<1>::begin (const unsigned int level) const {
   return begin_line (level);
@@ -46,6 +48,7 @@ DoFHandler<1>::begin (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::active_cell_iterator
 DoFHandler<1>::begin_active (const unsigned int level) const {
   return begin_active_line (level);
@@ -53,6 +56,7 @@ DoFHandler<1>::begin_active (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::raw_cell_iterator
 DoFHandler<1>::end () const {
   return end_line ();
@@ -60,6 +64,7 @@ DoFHandler<1>::end () const {
 
 
 
+template <>
 DoFHandler<1>::raw_cell_iterator
 DoFHandler<1>::last_raw () const {
   return last_raw_line ();
@@ -67,6 +72,7 @@ DoFHandler<1>::last_raw () const {
 
 
 
+template <>
 DoFHandler<1>::raw_cell_iterator
 DoFHandler<1>::last_raw (const unsigned int level) const {
   return last_raw_line (level);
@@ -74,6 +80,7 @@ DoFHandler<1>::last_raw (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::cell_iterator
 DoFHandler<1>::last () const {
   return last_line ();
@@ -81,6 +88,7 @@ DoFHandler<1>::last () const {
 
 
 
+template <>
 DoFHandler<1>::cell_iterator
 DoFHandler<1>::last (const unsigned int level) const {
   return last_line (level);
@@ -88,6 +96,7 @@ DoFHandler<1>::last (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::active_cell_iterator
 DoFHandler<1>::last_active () const {
   return last_active_line ();
@@ -95,6 +104,7 @@ DoFHandler<1>::last_active () const {
 
 
 
+template <>
 DoFHandler<1>::active_cell_iterator
 DoFHandler<1>::last_active (const unsigned int level) const {
   return last_active_line (level);
@@ -104,6 +114,7 @@ DoFHandler<1>::last_active (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::raw_cell_iterator
 DoFHandler<2>::begin_raw (const unsigned int level) const {
   return begin_raw_quad (level);
@@ -111,6 +122,7 @@ DoFHandler<2>::begin_raw (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::cell_iterator
 DoFHandler<2>::begin (const unsigned int level) const {
   return begin_quad (level);
@@ -118,6 +130,7 @@ DoFHandler<2>::begin (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::active_cell_iterator
 DoFHandler<2>::begin_active (const unsigned int level) const {
   return begin_active_quad (level);
@@ -125,6 +138,7 @@ DoFHandler<2>::begin_active (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::raw_cell_iterator
 DoFHandler<2>::end () const {
   return end_quad ();
@@ -132,6 +146,7 @@ DoFHandler<2>::end () const {
 
 
 
+template <>
 DoFHandler<2>::raw_cell_iterator
 DoFHandler<2>::last_raw () const {
   return last_raw_quad ();
@@ -139,6 +154,7 @@ DoFHandler<2>::last_raw () const {
 
 
 
+template <>
 DoFHandler<2>::raw_cell_iterator
 DoFHandler<2>::last_raw (const unsigned int level) const {
   return last_raw_quad (level);
@@ -146,6 +162,7 @@ DoFHandler<2>::last_raw (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::cell_iterator
 DoFHandler<2>::last () const {
   return last_quad ();
@@ -153,6 +170,7 @@ DoFHandler<2>::last () const {
 
 
 
+template <>
 DoFHandler<2>::cell_iterator
 DoFHandler<2>::last (const unsigned int level) const {
   return last_quad (level);
@@ -160,6 +178,7 @@ DoFHandler<2>::last (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<2>::active_cell_iterator
 DoFHandler<2>::last_active () const {
   return last_active_quad ();
@@ -167,6 +186,7 @@ DoFHandler<2>::last_active () const {
 
 
 
+template <>
 DoFHandler<2>::active_cell_iterator
 DoFHandler<2>::last_active (const unsigned int level) const {
   return last_active_quad (level);
@@ -179,6 +199,7 @@ DoFHandler<2>::last_active (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::raw_face_iterator
 DoFHandler<1>::begin_raw_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -187,6 +208,7 @@ DoFHandler<1>::begin_raw_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::face_iterator
 DoFHandler<1>::begin_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -195,6 +217,7 @@ DoFHandler<1>::begin_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::active_face_iterator
 DoFHandler<1>::begin_active_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -203,6 +226,7 @@ DoFHandler<1>::begin_active_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::raw_face_iterator
 DoFHandler<1>::end_face () const {
   Assert (false, ExcFunctionNotUseful());
@@ -211,6 +235,7 @@ DoFHandler<1>::end_face () const {
 
 
 
+template <>
 DoFDimensionInfo<1>::raw_face_iterator
 DoFHandler<1>::last_raw_face () const {
   Assert (false, ExcFunctionNotUseful());
@@ -219,6 +244,7 @@ DoFHandler<1>::last_raw_face () const {
 
 
 
+template <>
 DoFDimensionInfo<1>::raw_face_iterator
 DoFHandler<1>::last_raw_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -227,6 +253,7 @@ DoFHandler<1>::last_raw_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::face_iterator
 DoFHandler<1>::last_face () const {
   Assert (false, ExcFunctionNotUseful());
@@ -235,6 +262,7 @@ DoFHandler<1>::last_face () const {
 
 
 
+template <>
 DoFDimensionInfo<1>::face_iterator
 DoFHandler<1>::last_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -243,6 +271,7 @@ DoFHandler<1>::last_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<1>::active_face_iterator
 DoFHandler<1>::last_active_face () const {
   Assert (false, ExcFunctionNotUseful());
@@ -251,6 +280,7 @@ DoFHandler<1>::last_active_face () const {
 
 
 
+template <>
 DoFDimensionInfo<1>::active_face_iterator
 DoFHandler<1>::last_active_face (const unsigned int) const {
   Assert (false, ExcFunctionNotUseful());
@@ -261,6 +291,7 @@ DoFHandler<1>::last_active_face (const unsigned int) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::raw_face_iterator
 DoFHandler<2>::begin_raw_face (const unsigned int level) const {
   return begin_raw_line (level);
@@ -268,6 +299,7 @@ DoFHandler<2>::begin_raw_face (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::face_iterator
 DoFHandler<2>::begin_face (const unsigned int level) const {
   return begin_line (level);
@@ -275,6 +307,7 @@ DoFHandler<2>::begin_face (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::active_face_iterator
 DoFHandler<2>::begin_active_face (const unsigned int level) const {
   return begin_active_line (level);
@@ -282,6 +315,7 @@ DoFHandler<2>::begin_active_face (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::raw_face_iterator
 DoFHandler<2>::end_face () const {
   return end_line ();
@@ -289,6 +323,7 @@ DoFHandler<2>::end_face () const {
 
 
 
+template <>
 DoFDimensionInfo<2>::raw_face_iterator
 DoFHandler<2>::last_raw_face () const {
   return last_raw_line ();
@@ -296,6 +331,7 @@ DoFHandler<2>::last_raw_face () const {
 
 
 
+template <>
 DoFDimensionInfo<2>::raw_face_iterator
 DoFHandler<2>::last_raw_face (const unsigned int level) const {
   return last_raw_line (level);
@@ -303,6 +339,7 @@ DoFHandler<2>::last_raw_face (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::face_iterator
 DoFHandler<2>::last_face () const {
   return last_line ();
@@ -310,6 +347,7 @@ DoFHandler<2>::last_face () const {
 
 
 
+template <>
 DoFDimensionInfo<2>::face_iterator
 DoFHandler<2>::last_face (const unsigned int level) const {
   return last_line (level);
@@ -317,6 +355,7 @@ DoFHandler<2>::last_face (const unsigned int level) const {
 
 
 
+template <>
 DoFDimensionInfo<2>::active_face_iterator
 DoFHandler<2>::last_active_face () const {
   return last_active_line ();
@@ -324,6 +363,7 @@ DoFHandler<2>::last_active_face () const {
 
 
 
+template <>
 DoFDimensionInfo<2>::active_face_iterator
 DoFHandler<2>::last_active_face (const unsigned int level) const {
   return last_active_line (level);
@@ -368,6 +408,7 @@ DoFHandler<dim>::begin_active_line (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::raw_quad_iterator
 DoFHandler<1>::begin_raw_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -387,6 +428,7 @@ DoFHandler<dim>::begin_raw_quad (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::quad_iterator
 DoFHandler<1>::begin_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -406,6 +448,7 @@ DoFHandler<dim>::begin_quad (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::active_quad_iterator
 DoFHandler<1>::begin_active_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -433,6 +476,7 @@ DoFHandler<dim>::end_line () const {
 
 
 
+template <>
 DoFHandler<1>::raw_quad_iterator
 DoFHandler<1>::end_quad () const {
   Assert (false, ExcNotImplemented());
@@ -483,6 +527,7 @@ DoFHandler<dim>::last_active_line (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::raw_quad_iterator
 DoFHandler<1>::last_raw_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -502,6 +547,7 @@ DoFHandler<dim>::last_raw_quad (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::quad_iterator
 DoFHandler<1>::last_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -522,6 +568,7 @@ DoFHandler<dim>::last_quad (const unsigned int level) const {
 
 
 
+template <>
 DoFHandler<1>::active_quad_iterator
 DoFHandler<1>::last_active_quad (const unsigned int) const {
   Assert (false, ExcNotImplemented());
@@ -550,6 +597,7 @@ DoFHandler<dim>::last_raw_line () const {
 
 
 
+template <>
 DoFHandler<1>::raw_quad_iterator
 DoFHandler<1>::last_raw_quad () const {
   Assert (false, ExcNotImplemented());
@@ -574,6 +622,7 @@ DoFHandler<dim>::last_line () const {
 
 
 
+template <>
 DoFHandler<1>::quad_iterator
 DoFHandler<1>::last_quad () const {
   Assert (false, ExcNotImplemented());
@@ -599,6 +648,7 @@ DoFHandler<dim>::last_active_line () const {
 
 
 
+template <>
 DoFHandler<1>::active_quad_iterator
 DoFHandler<1>::last_active_quad () const {
   Assert (false, ExcNotImplemented());
@@ -626,6 +676,7 @@ unsigned int DoFHandler<dim>::n_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<1>::n_boundary_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (false, ExcNotImplemented());
@@ -656,6 +707,7 @@ unsigned int DoFHandler<dim>::n_boundary_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<1>::n_boundary_dofs (const FunctionMap &) const {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (false, ExcNotImplemented());
@@ -725,6 +777,7 @@ void DoFHandler<dim>::distribute_dofs (const FiniteElementBase<dim> &fe) {
 
 
 
+template <>
 unsigned int DoFHandler<1>::distribute_dofs_on_cell (active_cell_iterator &cell,
                                                     unsigned int          next_free_dof) {
 
@@ -776,6 +829,7 @@ unsigned int DoFHandler<1>::distribute_dofs_on_cell (active_cell_iterator &cell,
 
 
 
+template <>
 unsigned int DoFHandler<2>::distribute_dofs_on_cell (active_cell_iterator &cell,
                                                     unsigned int          next_free_dof) {
   if (selected_fe->dofs_per_vertex > 0)
@@ -1005,6 +1059,7 @@ void DoFHandler<dim>::renumber_dofs (const RenumberingMethod method,
 
 
 
+template <>
 void DoFHandler<1>::do_renumbering (const vector<int> &new_numbers) {
                                   // note that we can not use cell iterators
                                   // in this function since then we would
@@ -1025,6 +1080,7 @@ void DoFHandler<1>::do_renumbering (const vector<int> &new_numbers) {
 
 
 
+template <>
 void DoFHandler<2>::do_renumbering (const vector<int> &new_numbers) {
   for (vector<int>::iterator i=vertex_dofs.begin(); i!=vertex_dofs.end(); ++i)
     if (*i != -1)
@@ -1046,6 +1102,7 @@ void DoFHandler<2>::do_renumbering (const vector<int> &new_numbers) {
 
 
 
+template <>
 void DoFHandler<1>::make_constraint_matrix (ConstraintMatrix &cm) const {
   cm.clear ();
   cm.close ();
@@ -1054,6 +1111,7 @@ void DoFHandler<1>::make_constraint_matrix (ConstraintMatrix &cm) const {
 
   
 
+template <>
 void DoFHandler<2>::make_constraint_matrix (ConstraintMatrix &constraints) const {
   constraints.clear ();
   
@@ -1147,6 +1205,7 @@ void DoFHandler<dim>::make_sparsity_pattern (dSMatrixStruct &sparsity) const {
 
 
 
+template <>
 void DoFHandler<1>::make_boundary_sparsity_pattern (const vector<int> &,
                                                    dSMatrixStruct &) const {
     Assert (selected_fe != 0, ExcNoFESelected());
@@ -1193,6 +1252,7 @@ void DoFHandler<dim>::make_boundary_sparsity_pattern (const vector<int> &dof_to_
 
 
 
+template <>
 void DoFHandler<1>::make_boundary_sparsity_pattern (const FunctionMap &,
                                                    const vector<int> &,
                                                    dSMatrixStruct &) const {
@@ -1460,6 +1520,7 @@ void DoFHandler<dim>::transfer_cell (const typename DoFHandler<dim>::cell_iterat
 
 
 
+template <>
 unsigned int DoFHandler<1>::max_couplings_between_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
   return 3*selected_fe->dofs_per_vertex + 2*selected_fe->dofs_per_line;
@@ -1467,6 +1528,7 @@ unsigned int DoFHandler<1>::max_couplings_between_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<2>::max_couplings_between_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
 
@@ -1521,6 +1583,7 @@ unsigned int DoFHandler<2>::max_couplings_between_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<1>::max_couplings_between_boundary_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (false, ExcInternalError());
@@ -1529,6 +1592,7 @@ unsigned int DoFHandler<1>::max_couplings_between_boundary_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<2>::max_couplings_between_boundary_dofs () const {
   Assert (selected_fe != 0, ExcNoFESelected());
   return 3*selected_fe->dofs_per_vertex + 2*selected_fe->dofs_per_line;
@@ -1537,6 +1601,7 @@ unsigned int DoFHandler<2>::max_couplings_between_boundary_dofs () const {
 
 
 
+template <>
 unsigned int DoFHandler<1>::max_transfer_entries (const unsigned int max_level_diff) const {
   Assert (max_level_diff<2, ExcOnlyOnelevelTransferImplemented());
   switch (max_level_diff)
@@ -1552,6 +1617,7 @@ unsigned int DoFHandler<1>::max_transfer_entries (const unsigned int max_level_d
 
 
 
+template <>
 unsigned int DoFHandler<2>::max_transfer_entries (const unsigned int max_level_diff) const {
   Assert (max_level_diff<2, ExcOnlyOnelevelTransferImplemented());
   switch (max_level_diff)
@@ -1612,6 +1678,7 @@ void DoFHandler<dim>::distribute_cell_to_dof_vector (const dVector &cell_data,
 
 
 
+template <>
 void DoFHandler<1>::map_dof_to_boundary_indices (vector<int> &) const {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (false, ExcNotImplemented());
@@ -1647,6 +1714,7 @@ void DoFHandler<dim>::map_dof_to_boundary_indices (vector<int> &mapping) const {
 
 
 
+template <>
 void DoFHandler<1>::map_dof_to_boundary_indices (const FunctionMap &,
                                                 vector<int> &) const {
   Assert (selected_fe != 0, ExcNoFESelected());
@@ -1693,6 +1761,7 @@ void DoFHandler<dim>::map_dof_to_boundary_indices (const FunctionMap &boundary_i
 
 
 
+template <>
 void DoFHandler<1>::reserve_space () {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (tria->n_levels() > 0, ExcInvalidTriangulation());
@@ -1719,6 +1788,7 @@ void DoFHandler<1>::reserve_space () {
 
 
 
+template <>
 void DoFHandler<2>::reserve_space () {
   Assert (selected_fe != 0, ExcNoFESelected());
   Assert (tria->n_levels() > 0, ExcInvalidTriangulation());
index e4f4d313b2f6d6263ac77dab0eb6b300fba38d69..32fce303d0f8064e8cb38ae51e0aeabda8ca78a1 100644 (file)
@@ -37,6 +37,7 @@ bool FiniteElementData<2>::operator== (const FiniteElementData<2> &f) const {
 
 
 
+template <>
 FiniteElementBase<1>::FiniteElementBase (const unsigned int dofs_per_vertex,
                                         const unsigned int dofs_per_line,
                                         const unsigned int dofs_per_quad) :
@@ -57,6 +58,7 @@ FiniteElementBase<1>::FiniteElementBase (const unsigned int dofs_per_vertex,
 
 
 
+template <>
 FiniteElementBase<2>::FiniteElementBase (const unsigned int dofs_per_vertex,
                                         const unsigned int dofs_per_line,
                                         const unsigned int dofs_per_quad) :
@@ -120,7 +122,17 @@ bool FiniteElementBase<dim>::operator == (const FiniteElementBase<dim> &f) const
 
 /*------------------------------- FiniteElement ----------------------*/
 
+// declare this function to be explicitely specialized before first use
+// egcs wants this, but gcc2.8.1 produces an internal compiler error, so
+// we drop this declaration again for the time being
 
+//template <>
+//void FiniteElement<1>::get_ansatz_points (const DoFHandler<1>::cell_iterator &cell,
+//                                       const Boundary<1> &,
+//                                       vector<Point<1> > &ansatz_points) const;
+
+
+template <>
 void FiniteElement<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
                                       const vector<Point<1> > &unit_points,
                                       vector<dFMatrix>  &jacobians,
@@ -173,6 +185,7 @@ void FiniteElement<dim>::fill_fe_values (const DoFHandler<dim>::cell_iterator &,
 
 
 
+template <>
 void FiniteElement<1>::fill_fe_face_values (const DoFHandler<1>::cell_iterator &,
                                            const unsigned int       ,
                                            const vector<Point<0> > &,
@@ -240,6 +253,7 @@ void FiniteElement<dim>::fill_fe_face_values (const DoFHandler<dim>::cell_iterat
 
 
 
+template <>
 void FiniteElement<1>::fill_fe_subface_values (const DoFHandler<1>::cell_iterator &,
                                               const unsigned int       ,
                                               const unsigned int       ,
@@ -300,6 +314,7 @@ void FiniteElement<dim>::fill_fe_subface_values (const DoFHandler<dim>::cell_ite
 
 
 
+template <>
 void FiniteElement<1>::get_ansatz_points (const DoFHandler<1>::cell_iterator &cell,
                                          const Boundary<1> &,
                                          vector<Point<1> > &ansatz_points) const {
index e7d081ea44d8079d172c8fdd9edc62dacc516c63..22d559484e7621a3935ea14c9cef7bdbd4f99acb 100644 (file)
@@ -8,6 +8,7 @@
 
 
 
+template <>
 FELinear<1>::FELinear () :
                FiniteElement<1> (1, 0)
 {
@@ -42,6 +43,7 @@ FELinear<1>::FELinear () :
 
 
 
+template <>
 double
 FELinear<1>::shape_value(const unsigned int i,
                         const Point<1>& p) const
@@ -57,6 +59,7 @@ FELinear<1>::shape_value(const unsigned int i,
 
 
 
+template <>
 Point<1>
 FELinear<1>::shape_grad(const unsigned int i,
                        const Point<1>&) const
@@ -68,10 +71,11 @@ FELinear<1>::shape_grad(const unsigned int i,
     case 1: return Point<1>(1.);
     }
   return Point<1>();
-}
+};
 
 
 
+template <>
 void FELinear<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
                                  const vector<Point<1> >            &unit_points,
                                  vector<dFMatrix>  &jacobians,
@@ -90,6 +94,7 @@ void FELinear<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
 
 
 
+template <>
 void FELinear<1>::get_ansatz_points (const typename DoFHandler<1>::cell_iterator &cell,
                                     const Boundary<1>  &boundary,
                                     vector<Point<1> >  &ansatz_points) const {
@@ -98,6 +103,7 @@ void FELinear<1>::get_ansatz_points (const typename DoFHandler<1>::cell_iterator
 
 
 
+template <>
 void FELinear<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_iterator &,
                                          const Boundary<1>  &,
                                          vector<Point<1> >  &) const {
@@ -106,6 +112,7 @@ void FELinear<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_ite
 
 
 
+template <>
 void FELinear<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
                                      const Boundary<1>         &,
                                      const vector<Point<0> > &,
@@ -115,6 +122,7 @@ void FELinear<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
 
 
 
+template <>
 void FELinear<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
                                         const unsigned int           ,
                                         const vector<Point<0> > &,
@@ -124,6 +132,7 @@ void FELinear<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
 
 
 
+template <>
 void FELinear<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                      const unsigned int,
                                      const Boundary<1> &,
@@ -134,6 +143,7 @@ void FELinear<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 void FELinear<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                      const unsigned int,
                                      const unsigned int,
@@ -146,6 +156,7 @@ void FELinear<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 FELinear<2>::FELinear () :
                FiniteElement<2> (1, 0, 0)
 {
@@ -235,6 +246,7 @@ FELinear<2>::FELinear () :
 
 
 
+template <>
 double
 FELinear<2>::shape_value (const unsigned int i,
                          const Point<2>& p) const
@@ -252,6 +264,7 @@ FELinear<2>::shape_value (const unsigned int i,
 
 
 
+template <>
 Point<2>
 FELinear<2>::shape_grad (const unsigned int i,
                         const Point<2>& p) const
@@ -390,6 +403,7 @@ void FELinear<dim>::get_face_ansatz_points (const typename DoFHandler<dim>::face
 
 
 
+template <>
 void FELinear<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face,
                                      const Boundary<2>         &,
                                      const vector<Point<1> > &unit_points,
@@ -409,6 +423,7 @@ void FELinear<2>::get_face_jacobians (const DoFHandler<2>::face_iterator &face,
 
 
 
+template <>
 void FELinear<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &face,
                                         const unsigned int,
                                         const vector<Point<1> > &unit_points,
@@ -430,6 +445,7 @@ void FELinear<2>::get_subface_jacobians (const DoFHandler<2>::face_iterator &fac
 
 
 
+template <>
 void FELinear<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                      const unsigned int       face_no,
                                      const Boundary<2> &,
@@ -459,6 +475,7 @@ void FELinear<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
 
 
 
+template <>
 void FELinear<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
                                      const unsigned int       face_no,
                                      const unsigned int,
@@ -496,11 +513,13 @@ void FELinear<2>::get_normal_vectors (const DoFHandler<2>::cell_iterator &cell,
 
 
 
+template <>
 FEQuadratic<1>::FEQuadratic () :
                FiniteElement<1> (1, 1) {};
 
 
 
+template <>
 void FEQuadratic<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
                                     const vector<Point<1> >            &unit_points,
                                     vector<dFMatrix>  &jacobians,
@@ -519,6 +538,7 @@ void FEQuadratic<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
 
 
 
+template <>
 void FEQuadratic<1>::get_ansatz_points (const typename DoFHandler<1>::cell_iterator &cell,
                                        const Boundary<1>  &boundary,
                                        vector<Point<1> >  &ansatz_points) const {
@@ -527,6 +547,7 @@ void FEQuadratic<1>::get_ansatz_points (const typename DoFHandler<1>::cell_itera
 
 
 
+template <>
 void FEQuadratic<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_iterator &,
                                             const Boundary<1>  &,
                                             vector<Point<1> >  &) const {
@@ -535,6 +556,7 @@ void FEQuadratic<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_
 
 
 
+template <>
 void FEQuadratic<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
                                         const Boundary<1>         &,
                                         const vector<Point<0> > &,
@@ -544,6 +566,7 @@ void FEQuadratic<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
 
 
 
+template <>
 void FEQuadratic<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
                                            const unsigned int           ,
                                            const vector<Point<0> > &,
@@ -553,6 +576,7 @@ void FEQuadratic<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &
 
 
 
+template <>
 void FEQuadratic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                         const unsigned int,
                                         const Boundary<1> &,
@@ -563,6 +587,7 @@ void FEQuadratic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 void FEQuadratic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                         const unsigned int,
                                         const unsigned int,
@@ -574,6 +599,7 @@ void FEQuadratic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 FEQuadratic<2>::FEQuadratic () :
                FiniteElement<2> (1, 1, 1)
 {
@@ -706,11 +732,13 @@ void FEQuadratic<dim>::get_normal_vectors (const DoFHandler<dim>::cell_iterator
 
 
 
+template <>
 FECubic<1>::FECubic () :
                FiniteElement<1> (1, 2) {};
 
 
 
+template <>
 void FECubic<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
                                 const vector<Point<1> >            &unit_points,
                                 vector<dFMatrix>  &jacobians,
@@ -729,6 +757,7 @@ void FECubic<1>::fill_fe_values (const DoFHandler<1>::cell_iterator &cell,
 
 
 
+template <>
 void FECubic<1>::get_ansatz_points (const typename DoFHandler<1>::cell_iterator &cell,
                                    const Boundary<1>  &boundary,
                                    vector<Point<1> >  &ansatz_points) const {
@@ -737,6 +766,7 @@ void FECubic<1>::get_ansatz_points (const typename DoFHandler<1>::cell_iterator
 
 
 
+template <>
 void FECubic<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_iterator &,
                                         const Boundary<1>  &,
                                         vector<Point<1> >  &) const {
@@ -745,6 +775,7 @@ void FECubic<1>::get_face_ansatz_points (const typename DoFHandler<1>::face_iter
 
 
 
+template <>
 void FECubic<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
                                     const Boundary<1>         &,
                                     const vector<Point<0> > &,
@@ -754,6 +785,7 @@ void FECubic<1>::get_face_jacobians (const DoFHandler<1>::face_iterator &,
 
 
 
+template <>
 void FECubic<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
                                        const unsigned int           ,
                                        const vector<Point<0> > &,
@@ -763,6 +795,7 @@ void FECubic<1>::get_subface_jacobians (const DoFHandler<1>::face_iterator &,
 
 
 
+template <>
 void FECubic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                     const unsigned int,
                                     const Boundary<1> &,
@@ -773,6 +806,7 @@ void FECubic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 void FECubic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
                                     const unsigned int,
                                     const unsigned int,                                     
@@ -783,6 +817,7 @@ void FECubic<1>::get_normal_vectors (const DoFHandler<1>::cell_iterator &,
 
 
 
+template <>
 FECubic<2>::FECubic () :
                FiniteElement<2> (1, 2, 4) {};
 
index 0992b5c01771a99cd2fb4efaedcd22c69ea43758..9f23965d26dfd67b974ddf1206c629c84f8df7d4 100644 (file)
@@ -528,12 +528,14 @@ template class QuadAccessor<2>;
 /*------------------------ Functions: CellAccessor<1> -----------------------*/
 
 
+template <>
 bool CellAccessor<1>::at_boundary () const {
   return at_boundary(0) || at_boundary(1);
 };
 
 
 
+template <>
 unsigned char CellAccessor<1>::material_id () const {
   Assert (used(),
          typename TriaSubstructAccessor<1>::ExcRefineCellNotUsed());
@@ -542,6 +544,7 @@ unsigned char CellAccessor<1>::material_id () const {
 
 
 
+template <>
 void CellAccessor<1>::set_material_id (const unsigned char mat_id) const {
   Assert (used(),
          typename TriaSubstructAccessor<1>::ExcRefineCellNotUsed());
@@ -551,6 +554,7 @@ void CellAccessor<1>::set_material_id (const unsigned char mat_id) const {
 
 
 
+template <>
 Triangulation<1>::face_iterator
 CellAccessor<1>::face (const unsigned int) const {
   Assert (false, ExcNotUsefulForThisDimension());
@@ -562,12 +566,14 @@ CellAccessor<1>::face (const unsigned int) const {
 /*------------------------ Functions: CellAccessor<2> -----------------------*/
 
 
+template <>
 bool CellAccessor<2>::at_boundary () const {
   return at_boundary(0) || at_boundary(1) || at_boundary(2) || at_boundary(3);
 };
 
 
 
+template <>
 unsigned char CellAccessor<2>::material_id () const {
   Assert (used(),
          typename TriaSubstructAccessor<2>::ExcRefineCellNotUsed());
@@ -576,6 +582,7 @@ unsigned char CellAccessor<2>::material_id () const {
 
 
 
+template <>
 void CellAccessor<2>::set_material_id (const unsigned char mat_id) const {
   Assert (used(),
          typename TriaSubstructAccessor<2>::ExcRefineCellNotUsed());
@@ -585,6 +592,7 @@ void CellAccessor<2>::set_material_id (const unsigned char mat_id) const {
 
 
 
+template <>
 Triangulation<2>::face_iterator
 CellAccessor<2>::face (const unsigned int i) const {
   return line(i);

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.