// as friends. make sure to
// work around bugs in some
// compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <int,int,typename> friend class SymmetricTensor;
template <int,int,bool,int,typename>
friend class Accessor;
friend class ::dealii::SymmetricTensor<rank,dim,Number>;
friend class Accessor<rank,dim,constness,P+1,Number>;
# endif
-#else
- friend class SymmetricTensor<rank,dim,Number>;
- friend class Accessor<rank,dim,constness,P+1,Number>;
-#endif
};
// as friends. make sure to
// work around bugs in some
// compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <int,int,typename> friend class SymmetricTensor;
template <int,int,bool,int,typename>
friend class SymmetricTensorAccessors::Accessor;
friend class ::dealii::SymmetricTensor<rank,dim,Number>;
friend class SymmetricTensorAccessors::Accessor<rank,dim,constness,2,Number>;
# endif
-#else
- friend class SymmetricTensor<rank,dim,Number>;
- friend class Accessor<rank,dim,constness,2,Number>;
-#endif
};
}
}
// as friends. make sure to
// work around bugs in some
// compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <int N1, typename T1> friend class dealii::Table;
template <int N1, typename T1, bool C1, unsigned int P1>
friend class Accessor;
friend class dealii::Table<N,T>;
friend class Accessor<N,T,C,P+1>;
# endif
-#else
- friend class Table<N,T>;
- friend class Accessor<N,T,C,P+1>;
-#endif
};
// as friends. make sure to
// work around bugs in some
// compilers
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <int N1, typename T1> friend class dealii::Table;
template <int N1, typename T1, bool C1, unsigned int P1>
friend class Accessor;
friend class dealii::Table<2,T>;
friend class Accessor<N,T,C,2>;
# endif
-#else
- friend class Table<2,T>;
- friend class Accessor<N,T,C,2>;
-#endif
};
}
* friend. We have to work around
* a compiler bug here again.
*/
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <typename, bool>
friend class BlockMatrixIterators::Accessor;
template <typename>
friend class MatrixIterator;
-#else
- typedef BlockMatrixIterators::Accessor<BlockMatrixBase, true> ConstAccessor;
- typedef BlockMatrixIterators::Accessor<BlockMatrixBase, false> Accessor;
- friend class ConstAccessor;
-
- friend class const_iterator;
-#endif
-
};
void move_backward ();
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
/**
* Mark all other instances of
* this template as friends. In
* inverse constness iterator
* as friend, but this is
* something that ISO C++ does
- * not allow to specify. If we
- * have detected a compiler bug
- * during configuration of the
- * library, use a workaround
- * that works for this
- * particular compiler, but is
- * not ISO C++ conforming.
+ * not allow to specify.
*/
template <typename N, bool C>
friend class Iterator;
-#else
- friend class InverseConstnessIterator;
-#endif
};
} // namespace BlockVectorIterators
} // namespace internal
/**
* Make the iterator class a
- * friend. We have to work around
- * a compiler bug here again.
+ * friend.
*/
-#ifndef DEAL_II_NAMESP_TEMPL_FRIEND_BUG
template <typename N, bool C>
friend class dealii::internal::BlockVectorIterators::Iterator;
-#else
- friend class iterator;
- friend class const_iterator;
-#endif
template <typename> friend class BlockVectorBase;
};