#pragma once #include <gp/algorithms/move.hpp> #include <gp/algorithms/cvref.hpp> #include <gp/algorithms/reference.hpp> #include <type_traits> namespace gp { template<typename F, typename ... Args> auto bind_front(F&& func, Args&&... arg_parent) { return [=](auto&&... argv){ return func(arg_parent..., argv...); }; } }