YSTest: functional.hpp 文件参考

YSTest PreAlpha_b900_20201012 The YSLib Test Project

类 | 命名空间 | 类型定义 | 函数
functional.hpp 文件参考
YBaseLib » YStandardExtend

函数和可调用对象。 更多...

`#include "functor.hpp"`
`#include "function.hpp"`
`#include "swap.hpp"`
`#include "apply.hpp"`
`#include <numeric>`
functional.hpp 的引用(Include)关系图:
此图展示该文件直接或间接的被哪些文件引用了:

浏览源代码.

## 类

struct | ystdex::composed< _func, _func2 >
| 复合函数。 更多...
struct | ystdex::composed_n< _func, _func2 >
| 多元分发的复合函数。 更多...
struct | ystdex::generalized_composed< _func, _funcs >
| 多元复合函数。 更多...
struct | ystdex::one_shot< _func, _tRes, _tState >
| 调用一次的函数包装模板。 更多...
struct | ystdex::one_shot< _func, void, _tState >
struct | ystdex::one_shot< _func, _tRes, void >
struct | ystdex::one_shot< _func, void, void >
struct | ystdex::get_equal_to< _type >
| get 成员等于仿函数。 更多...
struct | ystdex::get_equal_to< void >
struct | ystdex::get_less< _type >
| get 成员小于仿函数。 更多...
struct | ystdex::get_less< void >
struct | ystdex::expand_proxy< _fCallable, _vLen >
struct | ystdex::expand_proxy< _fCallable, 0 >
struct | ystdex::expanded_caller< _fHandler, _fCaller >
| 接受冗余参数的可调用对象。 更多...
class | ystdex::expanded_function< _fSig, class >
| 扩展函数包装类模板。 更多...
class | ystdex::expanded_function< _tRet(_tParams...), _tBase >
| 扩展函数包装类模板特化。 更多...
struct | ystdex::make_parameter_list< expanded_function< _fSig, _tBase > >
struct | ystdex::return_of< expanded_function< _fSig, _tBase > >
struct | ystdex::is_covariant< expanded_function< _tFrom(_tFromParams...), _tBase >, expanded_function< _tTo(_tToParams...), _tBase > >
struct | ystdex::is_contravariant< expanded_function< _tResFrom(_tFromParams...), _tBase >, expanded_function< _tResTo(_tToParams...), _tBase > >
struct | ystdex::make_function_type< _tRet, expanded_function< _tUnused(_tParams...), _tBase > >
struct | ystdex::call_projection< expanded_function< _tRet(_tParams...), _tBase >, index_sequence< _vSeq... > >
struct | ystdex::default_last_value< _type >
| 合并值序列。 更多...
struct | ystdex::default_last_value< void >

## 命名空间

| ystdex
| `<memory>` 特性测试宏。
| ystdex::details

## 类型定义

template<typename _func , typename _fCallable >
using | ystdex::is_expandable = is_constructible< _func, expanded_caller< as_function_type_t< _func >, _fCallable > >
| 判断可调用类型是可展开到指定函数对象的类型。 更多...

## 函数

template<typename _func , typename... _tParams>
auto | ystdex::bind1 (_func &&f, _tParams &&... args) -> decltype(std::bind(std::forward< decltype(f)>(f), std::placeholders::_1, std::forward< decltype(args)>(args)...))
| 复合调用 std::bind 和 std::placeholders::_1 。 更多...
template<typename _tRes , typename _func , typename... _tParams>
auto | ystdex::bind1 (_func &&f, _tParams &&... args) -> decltype(std::bind< _tRes >(std::forward< decltype(f)>(f), std::placeholders::_1, std::forward< decltype(args)>(args)...))
template<typename _func , typename _func2 , typename... _tParams>
auto | ystdex::bind_forward (_func &&f, _func2 &&f2, _tParams &&... args) -> decltype(ystdex::bind1(std::forward< decltype(f)>(f), std::bind(std::forward< decltype(f2)>(f2), std::placeholders::_2, std::forward< decltype(args)>(args)...)))
| 复合调用 ystdex::bind1 和 std::placeholders::_2 以实现值的设置。 更多...
template<typename _func , typename _func2 , typename _func3 , typename... _funcs>
auto | ystdex::compose (_func f, _func2 g, _func3 h, _funcs... args) -> decltype(ystdex::compose(ystdex::compose(f, g), h, args...))
template<typename _func , typename _func2 , typename _func3 , typename... _funcs>
auto | ystdex::compose_n (_func f, _func2 g, _func3 h, _funcs... args) -> decltype(ystdex::compose_n(ystdex::compose_n(f, g), h, args...))
template<class _tThunk , typename _func >
void | ystdex::update_thunk (_tThunk &thunk, _func &&f)
| 更新间接调用对象。 更多...
template<typename _type , typename _fCallable , typename... _tParams>
_type | ystdex::details::invoke_for_value (true_, _type &&val, _fCallable &&f, _tParams &&... args)
template<typename _type , typename _fCallable , typename... _tParams>
auto | ystdex::details::invoke_for_value (false_, _type &&, _fCallable &&f, _tParams &&... args) -> invoke_result_t< _fCallable, _tParams... >
template<typename _type , typename _fCallable , typename... _tParams>
auto | ystdex::invoke_for_value (_type &&val, _fCallable &&f, _tParams &&... args) -> common_nonvoid_t< invoke_result_t< _fCallable, _tParams... >, _type >
| 调用第二参数起指定的函数对象，若返回空类型则使用第一参数的值为返回值。 更多...
template<typename _fCond , typename _fCallable , typename... _tParams>
invoke_result_t< _fCallable, _tParams... > | ystdex::retry_on_cond (_fCond cond, _fCallable &&f, _tParams &&... args)
| 循环重复调用：代替直接使用 do-while 语句以避免过多引入作用域外的变量。 更多...

## 详细描述

函数和可调用对象。

版本
  r4258

作者
  FrankHB frank.nosp@m.hb19.nosp@m.89@gm.nosp@m.ail..nosp@m.com

自从
  build 333

创建时间:
  2010-08-22 13:04:29 +0800

修改时间:
  2020-02-07 01:49 +0800

文本编码:
  UTF-8

模块名称:
  YStandardEx::Functional

在文件 functional.hpp 中定义.