// explicit instantiations
//
-// define a list of functions for vectors and matrices, respectively,
-// where the vector/matrix can be replaced using a preprocessor
-// variable VectorType/MatrixType. note that we cannot do so by using
-// a preprocessor function with one arg, since
-// #vector_functions(BlockVector<double>)# is not recognized as one
-// arg, and putting parentheses around the arg yields incorrect
-// syntax...
+// define a list of functions for vectors and matrices, respectively, where
+// the vector/matrix can be replaced using a preprocessor variable
+// VectorType/MatrixType. note that we need a space between "VectorType" and
+// ">" to disambiguate ">>" when VectorType trails in an angle bracket
#define VECTOR_FUNCTIONS(VectorType) \
- template void ConstraintMatrix::condense<VectorType>(const VectorType &uncondensed,\
+ template void ConstraintMatrix::condense<VectorType >(const VectorType &uncondensed,\
VectorType &condensed) const;\
- template void ConstraintMatrix::condense<VectorType>(VectorType &vec) const;\
- template void ConstraintMatrix::set_zero<VectorType>(VectorType &vec) const;\
- template void ConstraintMatrix::distribute<VectorType>(const VectorType &condensed,\
+ template void ConstraintMatrix::condense<VectorType >(VectorType &vec) const;\
+ template void ConstraintMatrix::set_zero<VectorType >(VectorType &vec) const;\
+ template void ConstraintMatrix::distribute<VectorType >(const VectorType &condensed,\
VectorType &uncondensed) const;\
- template void ConstraintMatrix::distribute<VectorType>(VectorType &vec) const
+ template void ConstraintMatrix::distribute<VectorType >(VectorType &vec) const
VECTOR_FUNCTIONS(Vector<float>);
// explicit instantiations
template class KellyErrorEstimator<deal_II_dimension>;
-// instantiate the externally visible functions
+// instantiate the externally visible functions. define a list of functions
+// for vectors, where the vector/matrix can be replaced using a preprocessor
+// variable VectorType/MatrixType. note that we need a space between
+// "VectorType" and ">" to disambiguate ">>" when VectorType trails in an
+// angle bracket
#define INSTANTIATE(InputVector) \
template \
void \
KellyErrorEstimator<deal_II_dimension>:: \
-estimate<InputVector> (const Mapping<deal_II_dimension> &, \
+estimate<InputVector > (const Mapping<deal_II_dimension> &, \
const DoFHandler<deal_II_dimension> &, \
const Quadrature<deal_II_dimension-1> &, \
const FunctionMap<deal_II_dimension>::type &, \
template \
void \
KellyErrorEstimator<deal_II_dimension>:: \
-estimate<InputVector> (const DoFHandler<deal_II_dimension> &, \
+estimate<InputVector > (const DoFHandler<deal_II_dimension> &, \
const Quadrature<deal_II_dimension-1> &, \
const FunctionMap<deal_II_dimension>::type &, \
const InputVector &, \
template \
void \
KellyErrorEstimator<deal_II_dimension>:: \
-estimate<InputVector> (const Mapping<deal_II_dimension> &, \
+estimate<InputVector > (const Mapping<deal_II_dimension> &, \
const DoFHandler<deal_II_dimension> &, \
const Quadrature<deal_II_dimension-1> &, \
const FunctionMap<deal_II_dimension>::type &, \
template \
void \
KellyErrorEstimator<deal_II_dimension>:: \
-estimate<InputVector> (const DoFHandler<deal_II_dimension> &, \
+estimate<InputVector > (const DoFHandler<deal_II_dimension> &, \
const Quadrature<deal_II_dimension-1> &, \
const FunctionMap<deal_II_dimension>::type &, \
const std::vector<const InputVector *> &, \