xtd - Reference Guide  0.1.1
Modern c++17/20 framework to create console, GUI and unit test applications on Windows, macOS, Linux, iOS and android.
iasync_result.h
Go to the documentation of this file.
1 #pragma once
5 #include <any>
6 #include <shared_mutex>
7 #include "interface.h"
8 #include "object.h"
9 
11 namespace xtd {
22  public:
30  virtual std::any async_state() const noexcept = 0;
31 
40  virtual std::shared_mutex& async_mutex() = 0;
41 
47  virtual bool completed_synchronously() const noexcept = 0;
48 
56  virtual bool is_completed() const noexcept = 0;
57  };
58 }
Represents the status of an asynchronous operation.
Definition: iasync_result.h:21
virtual bool is_completed() const noexcept=0
Gets a value that indicates whether the asynchronous operation has completed.
virtual std::any async_state() const noexcept=0
Gets a user-defined object that qualifies or contains information about an asynchronous operation.
virtual std::shared_mutex & async_mutex()=0
Gets a std::mutex that is used to wait for an asynchronous operation to complete.
virtual bool completed_synchronously() const noexcept=0
Gets a value that indicates whether the asynchronous operation completed synchronously.
#define interface_
This keyword is use to represent an interface.
Definition: interface.h:55
Contains xtd::interface interface.
The xtd namespace contains all fundamental classes to access Hardware, Os, System,...
Definition: system_report.h:17
Contains xtd::object class.