---
name: "std::__future_base"
section: "3cxx"
platform: "linux"
package: "libstdc++-11-doc"
version: "11.3.0-12"
release: "Debian 12 (Bookworm)"
platforms: ["linux"]
url: "https://new.carta.tech/std::__future_base"
---

# std::\_\_future\_base(3cxx)

Base class and enclosing scope.

## NAME

std::\_\_future\_base - Base class and enclosing scope.

## SYNOPSIS

Inherited by **std::\_\_basic\_future\< \_Res & \>**, **std::\_\_basic\_future\< void \>**, and **std::\_\_basic\_future\< \_Res \>**.

### Classes

struct **\_Result**\
 A result object that has storage for an object of type \_Res.  struct **\_Result\< \_Res & \>**\
 Partial specialization for reference types.  struct **\_Result\< void \>**\
 Explicit specialization for void.  struct **\_Result\_alloc**\
 A result object that uses an allocator.  struct **\_Result\_base**\
 Base class for results.

### Public Types

template\<typename \_Res \> using **\_Ptr** = **unique\_ptr**\< \_Res, \_Result\_base::\_Deleter \>\
 A unique\_ptr for result objects.  using **\_State\_base** = \_State\_baseV2\

### Static Public Member Functions

template\<typename \_Res , typename \_Allocator \> static **\_Ptr**\< **\_Result\_alloc**\< \_Res, \_Allocator \> \> **\_S\_allocate\_result** (const \_Allocator &\_\_a)\
 template\<typename \_Res , typename \_Tp \> static **\_Ptr**\< **\_Result**\< \_Res \> \> **\_S\_allocate\_result** (const **std::allocator**\< \_Tp \> &\_\_a)\
 template\<typename \_Res\_ptr , typename \_BoundFn \> static \_Task\_setter\< \_Res\_ptr, \_BoundFn \> **\_S\_task\_setter** (\_Res\_ptr &\_\_ptr, \_BoundFn &\_\_call)\

## Detailed Description

Base class and enclosing scope.

Definition at line **197** of file **future**.

## Member Typedef Documentation

### template\<typename \_Res \> using std::\_\_future\_base::\_Ptr = unique\_ptr\<\_Res, \_Result\_base::\_Deleter\>

A unique\_ptr for result objects.

Definition at line **222** of file **future**.

### using std::\_\_future\_base::\_State\_base = \_State\_baseV2

Definition at line **597** of file **future**.

## Member Function Documentation

### template\<typename \_Res , typename \_Allocator \> static \_Ptr\< \_Result\_alloc\< \_Res, \_Allocator \> \> std::\_\_future\_base::\_S\_allocate\_result (const \_Allocator & \_\_a)` [inline]`, ` [static]`

Definition at line **287** of file **future**.

### template\<typename \_Res , typename \_Tp \> static \_Ptr\< \_Result\< \_Res \> \> std::\_\_future\_base::\_S\_allocate\_result (const std::allocator\< \_Tp \> & \_\_a)` [inline]`, ` [static]`

Definition at line **300** of file **future**.

### template\<typename \_Res\_ptr , typename \_BoundFn \> static \_Task\_setter\< \_Res\_ptr, \_BoundFn \> std::\_\_future\_base::\_S\_task\_setter (\_Res\_ptr & \_\_ptr, \_BoundFn & \_\_call)` [inline]`, ` [static]`

Definition at line **621** of file **future**.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
