17 template<
typename Indices,
typename F,
typename... BoundArgs>
20 template<
types::size_t... indices,
typename F,
typename... BoundArgs>
23 template<
typename Fun,
typename... Args>
25 : m_function(
util::forward<Fun>(
function)), m_bound_arguments(
util::forward<Args>(bound_arguments)...) {}
33 template<
typename... Args>
35 constexpr auto operator()(Args&&... args) & ->
decltype(
auto) {
39 template<
typename... Args>
41 constexpr auto operator()(Args&&... args)
const& ->
decltype(
auto) {
45 template<
typename... Args>
47 constexpr auto operator()(Args&&... args) && ->
decltype(
auto) {
48 return function::invoke(util::move(m_function), util::forward<Args>(args)...,
52 template<
typename... Args>
54 constexpr auto operator()(Args&&... args)
const&& ->
decltype(
auto) {
55 return function::invoke(util::move(m_function), util::forward<Args>(args)...,
65template<
typename F,
typename... Args>
Definition bind_back.h:18
auto operator=(BindBackFunction &&) -> BindBackFunction &=delete
auto operator=(BindBackFunction const &) -> BindBackFunction &=delete
constexpr BindBackFunction(types::InPlace, Fun &&function, Args &&... bound_arguments)
Definition bind_back.h:24
constexpr BindBackFunction(BindBackFunction &&)=default
constexpr BindBackFunction(BindBackFunction const &)=default
Definition tuple_forward_declaration.h:5
Definition operations.h:11
Definition bind_back.h:16
constexpr auto invoke
Definition invoke.h:100
constexpr auto bind_back(F &&f, Args &&... args)
Definition bind_back.h:68
std::size_t size_t
Definition size_t.h:12
constexpr auto in_place
Definition in_place.h:8
constexpr auto get(T &&value) -> decltype(auto)
Definition get.h:8
Definition zstring_parser.h:9