ralpha-assets/Plugins/CesiumForUnreal/Source/ThirdParty/include/CesiumAsync/Impl/RemoveFuture.h

46 lines
1.1 KiB
C++

#pragma once
#include "cesium-async++.h"
namespace CesiumAsync {
template <class T> class Future;
template <class T> class SharedFuture;
namespace CesiumImpl {
// Begin omitting doxgen warnings for Impl namespace
//! @cond Doxygen_Suppress
template <typename T> struct RemoveFuture {
typedef T type;
};
template <typename T> struct RemoveFuture<Future<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<const Future<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<SharedFuture<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<const SharedFuture<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<async::task<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<const async::task<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<async::shared_task<T>> {
typedef T type;
};
template <typename T> struct RemoveFuture<const async::shared_task<T>> {
typedef T type;
};
//! @endcond
// End omitting doxgen warnings for Impl namespace
} // namespace CesiumImpl
} // namespace CesiumAsync