static_assert(!std::is_array<DataType>::value&&!std::is_pointer<DataType>::value,"Cannot template DynRankView with array or pointer datatype - must be pod");
private:
template<class, class...>friendclassDynRankView;
// template < class , class ... > friend class Kokkos::Experimental::View ; //unnecessary now...
constexprunsignedrank(constDynRankView<D,P...>&DRV){returnDRV.rank();}//needed for transition to common constexpr method in view and dynrankview to return rank