diff --git a/dune/istl/multitypeblockvector.hh b/dune/istl/multitypeblockvector.hh index beeb571cef0880a790b767d61764c642da09922a..b405435aa04ad3e585768a0d7cb05b115c9ef570 100644 --- a/dune/istl/multitypeblockvector.hh +++ b/dune/istl/multitypeblockvector.hh @@ -10,19 +10,25 @@ #include "istlexception.hh" -#include "gsetc.hh" - #include <boost/fusion/sequence.hpp> #include <boost/fusion/container.hpp> #include <boost/fusion/iterator.hpp> #include <boost/typeof/typeof.hpp> #include <boost/fusion/algorithm.hpp> - - namespace mpl=boost::mpl; namespace fusion=boost::fusion; +// forward decl +namespace Dune { + template<typename T1, typename T2=fusion::void_, typename T3=fusion::void_, typename T4=fusion::void_, + typename T5=fusion::void_, typename T6=fusion::void_, typename T7=fusion::void_, + typename T8=fusion::void_, typename T9=fusion::void_> + class MultiTypeBlockVector; +} + +#include "gsetc.hh" + namespace Dune { /** @@ -223,8 +229,8 @@ namespace Dune { This vector class combines elements of different types known at compile-time. */ - template<typename T1, typename T2=fusion::void_, typename T3=fusion::void_, typename T4=fusion::void_, - typename T5=fusion::void_, typename T6=fusion::void_, typename T7=fusion::void_, typename T8=fusion::void_, typename T9=fusion::void_> + template<typename T1, typename T2, typename T3, typename T4, + typename T5, typename T6, typename T7, typename T8, typename T9> class MultiTypeBlockVector : public fusion::vector<T1, T2, T3, T4, T5, T6, T7, T8, T9> { public: