1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
//! Abstract promise definition
//!
//! This trait defines the concept of future / promise in its classic presentation.
//! According to it, the future is a synchronous container for the result, and a promise is some
//! function that fills the future. At the same time, the properties of this function are not
//! initially defined, therefore this base class is presented in the form of abstract interfaces.
//! The concrete implementation of the promise determines how the function will be
//! executed - synchronous, asynchronously or otherwise. For more detailed descriptions of what
//! specific promise does as well as the logic of the future, see the corresponding implementations.
use ;