Public Member Functions | Friends | List of all members
beluga::actions::detail::assign_fn Struct Reference

Implementation detail for an assign range adaptor object. More...

#include <assign.hpp>

Public Member Functions

template<class Range , class Fn , std::enable_if_t< ranges::range< Range >, int > = 0, std::enable_if_t< is_range_closure_v< Fn >, int > = 0>
constexpr auto operator() (Range &range, Fn fn) const -> Range &
 Overload that implements the assign algorithm. More...
 

Friends

template<class Fn , std::enable_if_t< is_range_closure_v< Fn >, int > = 0>
constexpr friend auto operator| (Fn fn, assign_fn)
 Hidden friend operator overload that enables action / view composition. More...
 

Detailed Description

Implementation detail for an assign range adaptor object.

Definition at line 49 of file assign.hpp.

Member Function Documentation

◆ operator()()

template<class Range , class Fn , std::enable_if_t< ranges::range< Range >, int > = 0, std::enable_if_t< is_range_closure_v< Fn >, int > = 0>
constexpr auto beluga::actions::detail::assign_fn::operator() ( Range &  range,
Fn  fn 
) const -> Range&
inlineconstexpr

Overload that implements the assign algorithm.

Definition at line 56 of file assign.hpp.

Friends And Related Function Documentation

◆ operator|

template<class Fn , std::enable_if_t< is_range_closure_v< Fn >, int > = 0>
constexpr friend auto operator| ( Fn  fn,
assign_fn   
)
friend

Hidden friend operator overload that enables action / view composition.

Enables the following expressions: 1) view_closure | assign 2) action_closure | view_closure | assign 3) action_closure | assign

1) Will create an action closure that can eagerly invoke view_closure and assign the resulting range to the input range. 2) Will create a new action closure that can invoke action_closure, eagerly invoke view_closure, and assign the resulting range to the input range. 3) Technically a no-op, it will just invoke the action_closure.

Definition at line 80 of file assign.hpp.


The documentation for this struct was generated from the following file:


beluga
Author(s):
autogenerated on Tue Jul 16 2024 02:59:54