static void assign_from_expression (mesh_t const & mesh, D & data, T & t, RHS rhs) { // access to the data . Beware, we view it as a *matrix* NOT an array... (crucial for assignment to scalars !) for (size_t u=0; u<mesh.size(); ++u) { target_view_t( data(tqa::range(),tqa::range(),u)) = rhs(mesh[u]); } t = rhs( local::tail::omega(t.shape(),t.size())); // if f is an expression, replace the placeholder with a simple tail. If f is a function callable on freq_infty, // it uses the fact that tail_non_view_t can be casted into freq_infty }
static typename gf_t::data_t make_data(mesh_t const &m, target_shape_t) { return std::vector<Target>(m.size()); }
bool at_end() const { return (_index == m->size()); }