typename Domain::BlockType,
typename BlockPayload::BlockType> &op);
-// This is a workaround for a bug in <=gcc-4.7 that does not like partial
-// template default values in combination with local lambda expressions [1]
-//
-// [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53624
-//
-// Forward declare functions with partial template defaults:
-
-template <typename Range = BlockVector<double>,
- typename Domain = Range,
- typename BlockPayload =
- internal::BlockLinearOperatorImplementation::EmptyBlockPayload<>,
- typename BlockMatrixType>
-BlockLinearOperator<Range, Domain, BlockPayload>
-block_diagonal_operator(const BlockMatrixType &block_matrix);
-
-template <typename Range = BlockVector<double>,
- typename Domain = Range,
- typename BlockPayload =
- internal::BlockLinearOperatorImplementation::EmptyBlockPayload<>>
-LinearOperator<Domain, Range, typename BlockPayload::BlockType>
-block_forward_substitution(
- const BlockLinearOperator<Range, Domain, BlockPayload> &,
- const BlockLinearOperator<Domain, Range, BlockPayload> &);
-
-template <typename Range = BlockVector<double>,
- typename Domain = Range,
- typename BlockPayload =
- internal::BlockLinearOperatorImplementation::EmptyBlockPayload<>>
-LinearOperator<Domain, Range, typename BlockPayload::BlockType>
-block_back_substitution(
- const BlockLinearOperator<Range, Domain, BlockPayload> &,
- const BlockLinearOperator<Domain, Range, BlockPayload> &);
-
-// end of workaround
-
/**