]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add a declared but not implemented function. 1068/head
authorWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 1 Jul 2015 16:20:54 +0000 (11:20 -0500)
committerWolfgang Bangerth <bangerth@math.tamu.edu>
Wed, 1 Jul 2015 16:24:05 +0000 (11:24 -0500)
This addresses a linker error recently posted to the mailing list. The issue
is that we have iterators that represent faces of cells and a specialization
for the faces of 1d cells, i.e., vertices. These class specializations have
most of the regular accessor members declared, but here is one that was
declared without being defined.

This patch adds a definition of the function. The issue is relatively
uncritical since the so-defined function does not actually have to do
anything other than return an invalid object (vertices have no children).

doc/news/changes.h
include/deal.II/dofs/dof_accessor.h
include/deal.II/dofs/dof_accessor.templates.h

index 8f0c051b501f212fe3e379165616d4eefb32ba8a..b1dc8ddad256d58219a1dad7dc06dad5a0923b63 100644 (file)
@@ -532,6 +532,14 @@ inconvenience this causes.
 <h3>Specific improvements</h3>
 
 <ol>
+  <li> Fixed: The specialization of DoFAccessor for zero-dimensional objects,
+  i.e., for vertices as created by accessing the faces of one-dimensional
+  cells, had a member function DoFAccessor::child() that was declared but not
+  implemented. This is now fixed.
+  <br>
+  (Wolfgang Bangerth,  2015/07/01)
+  </li>
+
   <li> Improved: Functions::Monomial::gradient function now works when both base and exponent
   are equal to zero for one or more components of the monomial.
   Also, an assertion is added to avoid exponentiation of negative base numbers with real exponents.
index 89b7cf4e288ae501491fac9bcd55c9ede0e7df2f..89ee60103797d921a3f014fe8116fd5e1c810c7b 100644 (file)
@@ -294,7 +294,7 @@ public:
    */
 
   /**
-   * Return an iterator pointing to the the @p c-th child.
+   * Return an iterator pointing to the @p c-th child.
    */
   TriaIterator<DoFAccessor<structdim,DH, level_dof_access> >
   child (const unsigned int c) const;
@@ -798,7 +798,9 @@ public:
    */
 
   /**
-   * Return an iterator pointing to the the @p c-th child.
+   * Return an invalid iterator of a type that represents pointing to a child
+   * of the current object. The object is invalid because points (as represented
+   * by the current class) do not have children.
    */
   TriaIterator<DoFAccessor<0,DH<1,spacedim>, level_dof_access > >
   child (const unsigned int c) const;
index 0585f22126d9563016a9434d31350424e0a6a383..cd691524bbf48dae0e2aaf5025918dac1e5ceee3 100644 (file)
@@ -2325,6 +2325,18 @@ DoFAccessor<0,DH<1,spacedim>, level_dof_access>::operator != (const DoFAccessor<
 
 
 
+template <template <int, int> class DH, int spacedim, bool level_dof_access>
+inline
+TriaIterator<DoFAccessor<0,DH<1,spacedim>, level_dof_access > >
+DoFAccessor<0,DH<1,spacedim>, level_dof_access>::child (const unsigned int i) const
+{
+  return TriaIterator<DoFAccessor<0,DH<1,spacedim>, level_dof_access > >();
+}
+
+
+
+
+
 /*------------------------- Functions: DoFCellAccessor -----------------------*/
 
 

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.