Send feedback
  
   
 
  
    
      Class promise<T> (2.33.0)
    
    
       
    
    
      
      Stay organized with collections
     
    
      
      Save and categorize content based on your preferences.
     
    
  
      
     
  
  
   
  
    
  
  
    
    
    
  Version 2.33.0keyboard_arrow_down  
  
 
    
    
    
    
      
  
  
  Implement ISO/IEC TS 19571:2016 promise<T>. 
 
  Constructors
   
  promise() 
  Creates a promise with an unsatisfied shared state. 
 
  promise(std::function< void()>) 
  Creates a promise with an unsatisfied shared state. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        cancellation_callback 
        
          std::function< void()>
           
          
          
         
       
     
  
  promise(null_promise_t) 
  Creates a promise without  a shared state. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        x 
        
          null_promise_t
           
          
          
         
       
     
  
  promise(promise &&) 
  Constructs a new promise and transfer any shared state from rhs. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
         
        
          promise &&
           
          
          
         
       
     
  
  promise(promise const &) 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
         
        
          promise const &
           
          
          
         
       
     
  
  Operators
   
  operator=(promise &&) 
  Abandons the shared state in *this, if any, and transfers the shared state from rhs. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        rhs 
        
          promise &&
           
          
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        promise &  
         
       
     
  
  operator=(promise const &) 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
         
        
          promise const &
           
          
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        promise &  
         
       
     
  
  Functions
   
  swap(promise &) 
  Swaps the shared state in *this with rhs. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        other 
        
          promise &
           
          
          
         
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        void  
         
       
     
  
  get_future() 
  Creates the future<T> using the same shared state as *this. 
 
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        future< T >  
         
       
     
  
  set_value(T) 
  Satisfies the shared state. 
 
  
    
      
        Parameter  
       
      
        Name  
        Description  
       
      
        value 
        
          T
           
          
          
         
       
     
  
  
    
      
        Exceptions  
       
      
        Type  
        Description  
       
      
        std::future_error 
        with std::future_errc::promise_already_satisfied if the shared state is already satisfied. 
 
       
      
        std::future_error 
        with std::no_state if the promise does not have a shared state. 
 
       
     
  
  
    
      
        Returns  
       
      
        Type  
        Description  
       
      
        void  
         
       
     
  
 
     
    
  
  
  
     
  
 
  
    
    
      
    
     
  
       
         
  
  
    
    Send feedback
  
   
 
       
    
    
  
  
 
  Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License , and code samples are licensed under the Apache 2.0 License . For details, see the Google Developers Site Policies . Java is a registered trademark of Oracle and/or its affiliates.
  Last updated 2025-10-30 UTC.
 
 
  
  
    
    
    
      
  
  
    Need to tell us more?
  
   
 
     
  
  
    
      [[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-10-30 UTC."],[],[]]