template <class T> bool array_resize(T *ptr, size_t N, size_t size,byte_t byte,View &view, size_t &output_size) { if(size > N) { return false; } else { std::fill(ptr+size,ptr+N,byte); view.refresh(view.data(),size); output_size = size; return true; } }
static bool check_elem_view (const View &view, const Elem &e) { if (view.empty ()) return false; if (view.size () != 1) return false; if (view.data () != &e) return false; if (&view[0] != &e) return false; if (view[0] != e) return false; return true; }
static bool check_container_view (const View &view, const Container &c) { if (view.empty ()) return false; if (view.size () != c.size ()) return false; if (view.data () != c.data ()) return false; for (size_t i = 0; i < c.size (); i++) { if (&view[i] != &c[i]) return false; if (view[i] != c[i]) return false; } return true; }
bool View::operator==(const View& view) const { return m_name == view.name() and m_type == view.type() and m_output == view.output() and m_timestep == view.timestep() and m_data == view.data(); }
ConstView(const View &v) : data_(v.data()),size_(v.size()){}
Teuchos::ArrayView<typename View::const_value_type> toArray( View const &v ) { return Teuchos::ArrayView<typename View::const_value_type>( v.data(), v.size() ); }