std::experimental::function<R(Args...)>:: function
|
function
(
)
noexcept
;
|
(1) | (biblioteca fundamentals TS) |
|
function
(
std::
nullptr_t
)
noexcept
;
|
(2) | (biblioteca fundamentals TS) |
|
function
(
const
function
&
other
)
;
|
(3) | (biblioteca fundamentals TS) |
|
function
(
function
&&
other
)
;
|
(4) | (biblioteca fundamentals TS) |
|
template
<
class
F
>
function ( F f ) ; |
(5) | (biblioteca fundamentals TS) |
| (6) | ||
|
template
<
class
Alloc
>
function ( std:: allocator_arg_t , const Alloc & alloc ) noexcept ; |
(TS de biblioteca fundamentals) | |
|
function
(
std::
allocator_arg_t
,
const allocator_type & alloc ) noexcept ; |
(TS de biblioteca fundamentals v3) | |
| (7) | ||
|
template
<
class
Alloc
>
function
(
std::
allocator_arg_t
,
const
Alloc
&
alloc,
|
(biblioteca fundamentals TS) | |
|
function
(
std::
allocator_arg_t
,
const
allocator_type
&
alloc,
std:: nullptr_t ) noexcept ; |
(biblioteca fundamentals TS v3) | |
| (8) | ||
|
template
<
class
Alloc
>
function
(
std::
allocator_arg_t
,
const
Alloc
&
alloc,
|
(biblioteca de fundamentos TS) | |
|
function
(
std::
allocator_arg_t
,
const
allocator_type
&
alloc,
const function & other ) ; |
(biblioteca de fundamentos TS v3) | |
| (9) | ||
|
template
<
class
Alloc
>
function
(
std::
allocator_arg_t
,
const
Alloc
&
alloc,
|
(especificación técnica de bibliotecas fundamentales) | |
|
function
(
std::
allocator_arg_t
,
const
allocator_type
&
alloc,
function && other ) ; |
(especificación técnica de bibliotecas fundamentales v3) | |
| (10) | ||
|
template
<
class
F,
class
Alloc
>
function ( std:: allocator_arg_t , const Alloc & alloc, F f ) ; |
(biblioteca fundamentals TS) | |
|
function
(
std::
allocator_arg_t
,
const
allocator_type
&
alloc, F f
)
;
|
(biblioteca fundamentals TS v3) | |
Construye un
std::experimental::function
a partir de diversas fuentes.
Args...
y tipo de retorno
R
.
function
pueda usar.
Estos constructores tratan
alloc
como un asignador de tipo borrado (ver abajo).
(hasta library fundamentals TS v3)
|
Después de la construcción mediante (1-5) , this - > get_memory_resource ( ) devuelve el mismo valor que std:: experimental :: pmr :: get_default_resource ( ) durante la construcción. |
(library fundamentals TS)
(until library fundamentals TS v3) |
|
Después de la construcción mediante (1-3) y (5) , * this almacena un std:: pmr :: polymorphic_allocator <> construido por defecto. |
(library fundamentals TS v3) |
Cuando el target es un puntero a función o un std::reference_wrapper , se garantiza la optimización de objetos pequeños, es decir, estos targets siempre se almacenan directamente dentro del objeto std::experimental::function , sin que se produzca asignación dinámica. Otros objetos grandes pueden construirse en almacenamiento asignado dinámicamente y ser accedidos por el objeto std::experimental::function a través de un puntero.
Si un constructor mueve o copia un objeto función, incluyendo una instancia de
std::experimental::function
, entonces esa operación de movimiento o copia se realiza mediante
construcción con asignador
con el asignador
this
-
>
get_memory_resource
(
)
(hasta library fundamentals TS v3)
this
-
>
get_allocator
(
)
(library fundamentals TS v3)
.
Contenidos |
Asignador con borrado de tipo
Los constructores de
function
que toman un argumento de asignador
alloc
tratan ese argumento como un asignador con tipo borrado. El puntero al recurso de memoria utilizado por
function
para asignar memoria se determina usando el argumento del asignador (si se especifica) de la siguiente manera:
Tipo de
alloc
|
Valor del puntero al recurso de memoria |
| No existente (no se especificó un asignador en el momento de la construcción) | El valor de std:: experimental :: pmr :: get_default_resource ( ) en el momento de la construcción. |
| std::nullptr_t | El valor de std:: experimental :: pmr :: get_default_resource ( ) en el momento de la construcción. |
|
Un tipo puntero convertible a
std:: experimental :: pmr :: memory_resource * |
static_cast < std:: experimental :: pmr :: memory_resource * > ( alloc ) |
|
Una especialización de
std::experimental::pmr::polymorphic_allocator |
alloc. resource ( ) |
| Cualquier otro tipo que cumpla con los requisitos de Allocator |
Un puntero a un valor de tipo
std::
experimental
::
pmr
::
resource_adaptor
<
A
>
(
alloc
)
, donde
A
es el tipo de
alloc
. El puntero permanece válido solo durante la vida útil del objeto
function
.
|
| Ninguno de los anteriores | El programa está mal formado. |
Parámetros
| other | - | el objeto función utilizado para inicializar * this |
| f | - | un elemento invocable utilizado para inicializar * this |
| alloc | - | un asignador utilizado para la asignación interna de memoria |
| Requisitos de tipo | ||
-
F
debe cumplir con los requisitos de
Callable
y
CopyConstructible
.
|
||
Excepciones
Ejemplo
|
Esta sección está incompleta
Razón: sin ejemplo |