summaryrefslogtreecommitdiffhomepage
path: root/example
diff options
context:
space:
mode:
Diffstat (limited to 'example')
-rw-r--r--example/allocator_op_example/CMakeLists.txt7
-rw-r--r--example/allocator_op_example/example.cpp19
2 files changed, 22 insertions, 4 deletions
diff --git a/example/allocator_op_example/CMakeLists.txt b/example/allocator_op_example/CMakeLists.txt
index c7b3d6d..544ee2f 100644
--- a/example/allocator_op_example/CMakeLists.txt
+++ b/example/allocator_op_example/CMakeLists.txt
@@ -12,4 +12,9 @@ add_executable(AllocatorExample example.cpp)
set_property(TARGET AllocatorExample PROPERTY CXX_STANDARD 20)
target_include_directories(AllocatorExample PUBLIC ../../include/)
-target_link_libraries(AllocatorExample PRIVATE Boost)
+
+if (NOT DEFINED LINUX)
+ target_link_libraries(AllocatorExample PRIVATE Boost)
+endif()
+
+
diff --git a/example/allocator_op_example/example.cpp b/example/allocator_op_example/example.cpp
index 665df0b..ca192ff 100644
--- a/example/allocator_op_example/example.cpp
+++ b/example/allocator_op_example/example.cpp
@@ -5,15 +5,28 @@
#include <ocl/print.hpp>
#include <ocl/allocator_op.hpp>
+#include <coroutine>
+#include <future>
/// \brief Allocation of ints example.
-int main()
+int task()
{
ocl::allocator<int> int_alloc;
auto foo = int_alloc.construct_array<1>();
- *foo = 67;
- ocl::io::print(*foo);
+ *foo = 109000;
+ ocl::io::println(*foo);
return EXIT_SUCCESS;
}
+
+int main()
+{
+ auto ret = std::async(std::launch::deferred, task);
+ auto ret2 = std::async(std::launch::deferred, task);
+ auto ret3 = std::async(std::launch::deferred, task);
+
+ ret.get();
+ ret2.get();
+ ret3.get();
+}