44 template <
typename G,
typename RHS>
FORCEINLINE void triqs_gf_clef_auto_assign_impl_aux_assign(G &&g, RHS &&rhs) {
45 std::forward<G>(g) = std::forward<RHS>(rhs);
49 template <
typename G,
typename Expr,
int... Is>
50 FORCEINLINE void triqs_gf_clef_auto_assign_impl_aux_assign(G &&g, clef::make_fun_impl<Expr, Is...> &&rhs) {
71 for (
auto w : g.
mesh()) { triqs_gf_clef_auto_assign_impl_aux_assign(g[w], rhs(w)); }
A mutable, non-owning view of a Green's function.
mesh_t const & mesh() const
Get the mesh of the Green's function.
The owning Green's function container.
Provides the Green's function class.
void clef_auto_assign(block_gf_view< M, T > g, RHS const &rhs)
CLEF auto-assignment into a block Green's function view, i.e. g(om_) << expr.
void clef_auto_assign_subscript(block_gf_view< M, T > g, RHS const &rhs)
CLEF auto-assignment via subscript into a block Green's function view, i.e. g[om_] << expr.
static constexpr bool is_product
Constexpr bool that is true if the given triqs::mesh::Mesh type is a product of meshes,...
#define FORCEINLINE
Force-inline attribute portable across GCC and Clang.
decltype(auto) apply(F &&f, T &&t)
Call a function with the elements of a tuple as its arguments.
Common macros used in TRIQS.