};
-// declaration of explicit specializations
-
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
template <>
const double * const FE_DGP<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell];
template <>
const unsigned int FE_DGP<3>::Matrices::n_projection_matrices;
-
+#endif
#endif
};
-// declaration of explicit specializations
-
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
template <>
const double * const FE_DGQ<1>::Matrices::embedding[];
template <>
const unsigned int FE_DGQ<3>::Matrices::n_projection_matrices;
-
+#endif
#endif
template <> void FE_Q<1>::face_lexicographic_to_hierarchic_numbering (const unsigned int,
std::vector<unsigned int>&);
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
template <>
const double * const
FE_Q<1>::Matrices::embedding[][GeometryInfo<1>::children_per_cell];
template <>
const unsigned int FE_Q<3>::Matrices::n_constraint_matrices;
-
+#endif
#endif
/* -------------- declaration of explicit specializations ------------- */
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
template<> const unsigned int Mapping<1>::normal_directions[2];
template<> const unsigned int Mapping<2>::normal_directions[4];
template<> const unsigned int Mapping<3>::normal_directions[6];
-
+#endif
/* ------------------------- inline functions ------------------------- */
/* -------------- declaration of explicit specializations ------------- */
+// declaration of explicit specializations of member variables, if the
+// compiler allows us to do that (the standard says we must)
+#ifndef DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
template<> const unsigned int MappingQ1<1>::vertex_mapping[2];
template<> const unsigned int MappingQ1<2>::vertex_mapping[4];
template<> const unsigned int MappingQ1<3>::vertex_mapping[8];
-
+#endif
template<> void MappingQ1<1>::compute_shapes_virtual (
const std::vector<Point<1> > &unit_points,
InternalData& data) const;