]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Move explicit specializations to the .cc file.
authorDragan Nikolic <dragnikolic@gmail.com>
Wed, 14 Sep 2016 12:33:29 +0000 (06:33 -0600)
committerWolfgang Bangerth <bangerth@colostate.edu>
Wed, 14 Sep 2016 12:33:29 +0000 (06:33 -0600)
include/deal.II/lac/vector.h
include/deal.II/lac/vector.templates.h
source/lac/vector.cc

index ddb2f0b4a2a5ca7add57135fb7732cf51da3faa0..8a141b455dad6f53f68f3cd654b4bf188ec897e8 100644 (file)
@@ -1031,6 +1031,22 @@ private:
 #ifndef DOXYGEN
 
 
+//------------------------ declarations for explicit specializations
+
+#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG
+template <>
+Vector<std::complex<float> > &
+Vector<std::complex<float> >::operator= (const std::complex<float> s);
+#endif
+
+
+template <>
+Vector<int>::real_type
+Vector<int>::lp_norm (const real_type) const;
+
+
+//------------------------ inline functions
+
 template <typename Number>
 inline
 Vector<Number>::Vector ()
index 7ec0cd768e1fa095715d1dcd66980c84ff56485f..0a1177cf5079b5712ca93384be80a995312f1ce4 100644 (file)
@@ -383,23 +383,6 @@ Vector<Number>::operator= (const Number s)
 
 
 
-#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG
-template <>
-Vector<std::complex<float> > &
-Vector<std::complex<float> >::operator= (const std::complex<float> s)
-{
-  AssertIsFinite(s);
-  if (s != std::complex<float>())
-    Assert (vec_size!=0, ExcEmptyObject());
-  if (vec_size!=0)
-    std::fill (begin(), end(), s);
-
-  return *this;
-}
-#endif
-
-
-
 template <typename Number>
 Vector<Number> &Vector<Number>::operator *= (const Number factor)
 {
@@ -604,16 +587,6 @@ Vector<Number>::lp_norm (const real_type p) const
 
 
 
-template <>
-Vector<int>::real_type
-Vector<int>::lp_norm (const real_type) const
-{
-  Assert(false, ExcMessage("No lp norm for integer vectors"));
-  return -1;
-}
-
-
-
 template <typename Number>
 typename Vector<Number>::real_type
 Vector<Number>::linfty_norm () const
index 4f23c08d2d4fa4fe568e273938df9fb592f2418d..e7f0a283ed28d4c2b7c83b8e1ac09182f2275665 100644 (file)
@@ -66,4 +66,27 @@ TEMPL_OP_EQ(std::complex<float>,std::complex<double>);
 
 #undef TEMPL_OP_EQ
 
+#ifdef DEAL_II_BOOST_BIND_COMPILER_BUG
+template <>
+Vector<std::complex<float> > &
+Vector<std::complex<float> >::operator= (const std::complex<float> s)
+{
+  AssertIsFinite(s);
+  if (s != std::complex<float>())
+    Assert (vec_size!=0, ExcEmptyObject());
+  if (vec_size!=0)
+    std::fill (begin(), end(), s);
+
+  return *this;
+}
+#endif
+
+template <>
+Vector<int>::real_type
+Vector<int>::lp_norm (const real_type) const
+{
+  Assert(false, ExcMessage("No lp norm for integer vectors"));
+  return -1;
+}
+
 DEAL_II_NAMESPACE_CLOSE

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.