ENDIF()
-#
-# On Mac OS X, gcc appears to have a bug that prevents us from
-# compiling a bit of code that involves boost::bind. Check for
-# that.
-#
-# - Wolfgang Bangerth, Matthias Maier, rewritten 2012
-#
-IF(DEAL_II_HAVE_BUNDLED_DIRECTORY)
- CHECK_CXX_COMPILER_BUG(
- "
- #include <complex>
- #include <iostream>
- #include \"${BOOST_FOLDER}/include/boost/bind.hpp\"
-
- template<typename number>
- void bug_function (number test)
- {
- std::cout << test << std::endl;
- }
- int main()
- {
- std::complex<float> float_val (1., 2.);
- boost::bind(&bug_function<std::complex<float> >,
- float_val)();
- return 0;
- }
- "
- DEAL_II_BOOST_BIND_COMPILER_BUG
- )
-ENDIF()
-
-
#
# Microsoft Visual C++ has a bug where the resulting object
# from calling std::bind does not have a const operator(),
#cmakedefine DEAL_II_MEMBER_ARRAY_SPECIALIZATION_BUG
#cmakedefine DEAL_II_MEMBER_VAR_SPECIALIZATION_BUG
#cmakedefine DEAL_II_CONST_MEMBER_DEDUCTION_BUG
-#cmakedefine DEAL_II_BOOST_BIND_COMPILER_BUG
#cmakedefine DEAL_II_BIND_NO_CONST_OP_PARENTHESES
#cmakedefine DEAL_II_CONSTEXPR_BUG
//------------------------ 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;
#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