Init
This commit is contained in:
69
cppdraft/func/def.md
Normal file
69
cppdraft/func/def.md
Normal file
@@ -0,0 +1,69 @@
|
||||
[func.def]
|
||||
|
||||
# 22 General utilities library [[utilities]](./#utilities)
|
||||
|
||||
## 22.10 Function objects [[function.objects]](function.objects#func.def)
|
||||
|
||||
### 22.10.3 Definitions [func.def]
|
||||
|
||||
[1](#1)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11465)
|
||||
|
||||
The following definitions apply to this Clause:
|
||||
|
||||
[2](#2)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11468)
|
||||
|
||||
A [*call signature*](#def:call_signature "22.10.3 Definitions [func.def]") is the name of a return type followed by a
|
||||
parenthesized comma-separated list of zero or more argument types[.](#2.sentence-1)
|
||||
|
||||
[3](#3)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11472)
|
||||
|
||||
A [*callable type*](#def:type,callable "22.10.3 Definitions [func.def]") is a function object type ([[function.objects]](function.objects "22.10 Function objects")) or a pointer to member[.](#3.sentence-1)
|
||||
|
||||
[4](#4)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11475)
|
||||
|
||||
A [*callable object*](#def:object,callable "22.10.3 Definitions [func.def]") is an object of a callable type[.](#4.sentence-1)
|
||||
|
||||
[5](#5)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11478)
|
||||
|
||||
A [*call wrapper type*](#def:call_wrapper,type "22.10.3 Definitions [func.def]") is a type that holds a callable object
|
||||
and supports a call operation that forwards to that object[.](#5.sentence-1)
|
||||
|
||||
[6](#6)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11482)
|
||||
|
||||
A [*call wrapper*](#def:call_wrapper "22.10.3 Definitions [func.def]") is an object of a call wrapper type[.](#6.sentence-1)
|
||||
|
||||
[7](#7)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11485)
|
||||
|
||||
A [*target object*](#def:target_object "22.10.3 Definitions [func.def]") is the callable object held by a call wrapper[.](#7.sentence-1)
|
||||
|
||||
[8](#8)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11488)
|
||||
|
||||
A call wrapper type may additionally hold
|
||||
a sequence of objects and references
|
||||
that may be passed as arguments to the target object[.](#8.sentence-1)
|
||||
|
||||
These entities are collectively referred to
|
||||
as [*bound argument entities*](#def:bound_argument_entity "22.10.3 Definitions [func.def]")[.](#8.sentence-2)
|
||||
|
||||
[9](#9)
|
||||
|
||||
[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/utilities.tex#L11495)
|
||||
|
||||
The target object and bound argument entities of the call wrapper are
|
||||
collectively referred to as [*state entities*](#def:state_entity "22.10.3 Definitions [func.def]")[.](#9.sentence-1)
|
||||
Reference in New Issue
Block a user