Audaspace: merge changes from upstream.

This commit is contained in:
Jörg Müller
2024-08-06 17:59:20 +02:00
parent ee599619ca
commit fae2195553
2 changed files with 5 additions and 3 deletions

View File

@@ -338,8 +338,10 @@ endif()
# compiler options
if(AUDASPACE_STANDALONE)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
add_definitions(-std=c++11)
list(APPEND CMAKE_C_COMPILER_FLAGS "-fvisibility=hidden")
list(APPEND CMAKE_CXX_COMPILER_FLAGS "-fvisibility=hidden")
endif()

View File

@@ -88,9 +88,9 @@ public:
* \return A future of the same type as the return type of the task.
*/
template<class T, class... Args>
std::future<typename std::result_of<T(Args...)>::type> enqueue(T&& t, Args&&... args)
auto enqueue(T&& t, Args&&... args)
{
using pkgdTask = std::packaged_task<typename std::result_of<T(Args...)>::type()>;
using pkgdTask = std::packaged_task<typename std::invoke_result<T, Args...>::type()>;
std::shared_ptr<pkgdTask> task = std::make_shared<pkgdTask>(std::bind(std::forward<T>(t), std::forward<Args>(args)...));
auto result = task->get_future();