#pragma once
#include<utility>namespacehaar_lib{template<typenameF>structfix_point:F{explicitconstexprfix_point(F&&f)noexcept:F(std::forward<F>(f)){}template<typename...Args>constexprautooperator()(Args&&...args)const{returnF::operator()(*this,std::forward<Args>(args)...);}};template<typenameF>inlineconstexprautomake_fix_point(F&&f){returnfix_point<F>(std::forward<F>(f));}template<typenameF>inlineconstexprautomake_fix_point(F&f){returnfix_point<F>(std::forward<F>(f));}}// namespace haar_lib