typedef RetType (Class::*type) ();
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class RetType>
struct MemFunPtr0<const Class, RetType>
{
typedef RetType (Class::*type) () const;
};
-
+#endif
/**
* Given a class, argument types,
* and the return type, generate a
typedef RetType (Class::*type) (Arg1);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class RetType>
struct MemFunPtr1<const Class, Arg1, RetType>
{
typedef RetType (Class::*type) (Arg1) const;
};
-
+#endif
/**
* Given a class, argument types,
* and the return type, generate a
typedef RetType (Class::*type) (Arg1, Arg2);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class RetType>
struct MemFunPtr2<const Class, Arg1, Arg2, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2) const;
};
-
+#endif
/**
* Given a class, argument types,
typedef RetType (Class::*type) (Arg1, Arg2, Arg3);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class RetType>
struct MemFunPtr3<const Class, Arg1, Arg2, Arg3, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3) const;
};
-
+#endif
/**
* Given a class, argument types,
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class RetType>
struct MemFunPtr4<const Class, Arg1, Arg2, Arg3, Arg4, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4) const;
};
-
+#endif
/**
* Given a class, argument types,
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class RetType>
struct MemFunPtr5<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5) const;
};
-
+#endif
/**
* Given a class, argument types,
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class RetType>
struct MemFunPtr6<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6) const;
};
-
+#endif
/**
* Given a class, argument types,
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class RetType>
struct MemFunPtr7<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7) const;
};
-
+#endif
/**
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class RetType>
struct MemFunPtr8<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8) const;
};
-
+#endif
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9, class RetType>
struct MemFunPtr9<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9) const;
};
-
+#endif
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10);
};
+#ifdef DEAL_II_CONST_MEM_FUN_PTR_BUG
/**
* Same as above, but for the case
* of a member function marked
- * @p{const}.
+ * @p{const}. This should not
+ * really be necessary, but Intel's
+ * compiler has a bug here so we
+ * have to work around.
*/
template <class Class, class Arg1, class Arg2, class Arg3, class Arg4, class Arg5, class Arg6, class Arg7, class Arg8, class Arg9, class Arg10, class RetType>
struct MemFunPtr10<const Class, Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10, RetType>
{
typedef RetType (Class::*type) (Arg1, Arg2, Arg3, Arg4, Arg5, Arg6, Arg7, Arg8, Arg9, Arg10) const;
};
-
+#endif