---
name: "std::promise"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/std::promise/3cxx"
---

# std::promise(3cxx)

Primary template for promise.

## NAME

std::promise\< \_Res \> - Primary template for promise.

## SYNOPSIS

`#include <future>`

### Public Member Functions

template\<**typename** **\_Allocator** \> **promise** (**allocator\_arg\_t**, const **\_Allocator** &, **promise** &&**\_\_rhs**)\
 template\<**typename** **\_Allocator** \> **promise** (**allocator\_arg\_t**, const **\_Allocator** &\_\_a)\
 **promise** (const **promise** &)=**delete**\
 **promise** (**promise** &&**\_\_rhs**) noexcept\
 **future**\< **\_Res** \> **get\_future** ()\
 **promise** & **operator=** (const **promise** &)=**delete**\
 **promise** & **operator=** (**promise** &&**\_\_rhs**) noexcept\
 **void** **set\_exception** (**exception\_ptr** \_\_p)\
 **void** **set\_exception\_at\_thread\_exit** (**exception\_ptr** \_\_p)\
 **void** **set\_value** (**\_Res** &&\_\_r)\
 **void** **set\_value** (const **\_Res** &\_\_r)\
 **void** **set\_value\_at\_thread\_exit** (**\_Res** &&\_\_r)\
 **void** **set\_value\_at\_thread\_exit** (const **\_Res** &\_\_r)\
 **void** **swap** (**promise** &**\_\_rhs**) noexcept\

### Friends

template\<**typename** , **typename** \> **struct** **\_State::\_Setter**\

## Detailed Description

### template\<typename \_Res\>

class std::promise\< \_Res \>"Primary template for promise.

## Author

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