cesium-native  0.41.0
RemoveFuture.h
1 #pragma once
2 
3 #include "cesium-async++.h"
4 
5 namespace CesiumAsync {
6 
7 template <class T> class Future;
8 template <class T> class SharedFuture;
9 
10 namespace CesiumImpl {
11 // Begin omitting doxgen warnings for Impl namespace
13 
14 template <typename T> struct RemoveFuture {
15  typedef T type;
16 };
17 template <typename T> struct RemoveFuture<Future<T>> {
18  typedef T type;
19 };
20 template <typename T> struct RemoveFuture<const Future<T>> {
21  typedef T type;
22 };
23 template <typename T> struct RemoveFuture<SharedFuture<T>> {
24  typedef T type;
25 };
26 template <typename T> struct RemoveFuture<const SharedFuture<T>> {
27  typedef T type;
28 };
29 template <typename T> struct RemoveFuture<async::task<T>> {
30  typedef T type;
31 };
32 template <typename T> struct RemoveFuture<const async::task<T>> {
33  typedef T type;
34 };
35 template <typename T> struct RemoveFuture<async::shared_task<T>> {
36  typedef T type;
37 };
38 template <typename T> struct RemoveFuture<const async::shared_task<T>> {
39  typedef T type;
40 };
41 
43 // End omitting doxgen warnings for Impl namespace
44 } // namespace CesiumImpl
45 } // namespace CesiumAsync
Classes that support asynchronous operations.