yaclib/2022.12.20

lightweight C++ library for concurrent and parallel task execution
Recipe info
2023-10-11

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
yaclib/2022.12.20

Using yaclib

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
yaclib/2022.12.20
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("yaclib/2022.12.20")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): yaclib
  • CMake target name(s): yaclib
  • pkg-config file name(s): yaclib.pc

A simple use case using the CMake file name and the global target:

# ...
find_package(yaclib REQUIRED)
# ...
target_link_libraries(YOUR_TARGET yaclib)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the yaclib homepage listed above:

#include "yaclib/algo/detail/base_core.hpp"
#include "yaclib/algo/detail/core.hpp"
#include "yaclib/algo/detail/func_core.hpp"
#include "yaclib/algo/detail/inline_core.hpp"
#include "yaclib/algo/detail/promise_core.hpp"
#include "yaclib/algo/detail/result_core.hpp"
#include "yaclib/algo/detail/wait_event.hpp"
#include "yaclib/algo/one_shot_event.hpp"
#include "yaclib/algo/wait_group.hpp"
#include "yaclib/async/contract.hpp"
#include "yaclib/async/detail/future_impl.hpp"
#include "yaclib/async/detail/promise_impl.hpp"
#include "yaclib/async/detail/wait_impl.hpp"
#include "yaclib/async/detail/when_all_impl.hpp"
#include "yaclib/async/detail/when_any_impl.hpp"
#include "yaclib/async/detail/when_impl.hpp"
#include "yaclib/async/future.hpp"
#include "yaclib/async/make.hpp"
#include "yaclib/async/promise.hpp"
#include "yaclib/async/run.hpp"
#include "yaclib/async/wait.hpp"
#include "yaclib/async/wait_for.hpp"
#include "yaclib/async/wait_until.hpp"
#include "yaclib/async/when_all.hpp"
#include "yaclib/async/when_any.hpp"
#include "yaclib/config.hpp"
#include "yaclib/coro/await.hpp"
#include "yaclib/coro/await_on.hpp"
#include "yaclib/coro/coro.hpp"
#include "yaclib/coro/current_executor.hpp"
#include "yaclib/coro/detail/await_awaiter.hpp"
#include "yaclib/coro/detail/on_awaiter.hpp"
#include "yaclib/coro/detail/promise_type.hpp"
#include "yaclib/coro/future.hpp"
#include "yaclib/coro/guard_sticky.hpp"
#include "yaclib/coro/guard_unique.hpp"
#include "yaclib/coro/mutex.hpp"
#include "yaclib/coro/on.hpp"
#include "yaclib/coro/task.hpp"
#include "yaclib/coro/yield.hpp"
#include "yaclib/exe/detail/unique_job.hpp"
#include "yaclib/exe/executor.hpp"
#include "yaclib/exe/inline.hpp"
#include "yaclib/exe/job.hpp"
#include "yaclib/exe/manual.hpp"
#include "yaclib/exe/strand.hpp"
#include "yaclib/exe/submit.hpp"
#include "yaclib/fault/config.hpp"
#include "yaclib/fault/detail/atomic.hpp"
#include "yaclib/fault/detail/atomic_flag.hpp"
#include "yaclib/fault/detail/atomic_wait.hpp"
#include "yaclib/fault/detail/condition_variable.hpp"
#include "yaclib/fault/detail/condition_variable_any.hpp"
#include "yaclib/fault/detail/fiber/atomic.hpp"
#include "yaclib/fault/detail/fiber/atomic_flag.hpp"
#include "yaclib/fault/detail/fiber/atomic_wait.hpp"
#include "yaclib/fault/detail/fiber/bidirectional_intrusive_list.hpp"
#include "yaclib/fault/detail/fiber/condition_variable.hpp"
#include "yaclib/fault/detail/fiber/default_allocator.hpp"
#include "yaclib/fault/detail/fiber/execution_context.hpp"
#include "yaclib/fault/detail/fiber/fiber.hpp"
#include "yaclib/fault/detail/fiber/fiber_base.hpp"
#include "yaclib/fault/detail/fiber/mutex.hpp"
#include "yaclib/fault/detail/fiber/queue.hpp"
#include "yaclib/fault/detail/fiber/recursive_mutex.hpp"
#include "yaclib/fault/detail/fiber/recursive_timed_mutex.hpp"
#include "yaclib/fault/detail/fiber/scheduler.hpp"
#include "yaclib/fault/detail/fiber/shared_mutex.hpp"
#include "yaclib/fault/detail/fiber/shared_timed_mutex.hpp"
#include "yaclib/fault/detail/fiber/stack.hpp"
#include "yaclib/fault/detail/fiber/stack_allocator.hpp"
#include "yaclib/fault/detail/fiber/system_clock.hpp"
#include "yaclib/fault/detail/fiber/thread.hpp"
#include "yaclib/fault/detail/fiber/thread_local_proxy.hpp"
#include "yaclib/fault/detail/fiber/timed_mutex.hpp"
#include "yaclib/fault/detail/fiber/wakeup_helper.hpp"
#include "yaclib/fault/detail/mutex.hpp"
#include "yaclib/fault/detail/random_device.hpp"
#include "yaclib/fault/detail/recursive_mutex.hpp"
#include "yaclib/fault/detail/recursive_timed_mutex.hpp"
#include "yaclib/fault/detail/shared_mutex.hpp"
#include "yaclib/fault/detail/shared_timed_mutex.hpp"
#include "yaclib/fault/detail/timed_mutex.hpp"
#include "yaclib/fault/detail/wait_status.hpp"
#include "yaclib/fault/inject.hpp"
#include "yaclib/fault/injector.hpp"
#include "yaclib/fwd.hpp"
#include "yaclib/lazy/detail/task_impl.hpp"
#include "yaclib/lazy/make.hpp"
#include "yaclib/lazy/schedule.hpp"
#include "yaclib/lazy/task.hpp"
#include "yaclib/log.hpp"
#include "yaclib/runtime/fair_thread_pool.hpp"
#include "yaclib/util/detail/atomic_counter.hpp"
#include "yaclib/util/detail/atomic_event.hpp"
#include "yaclib/util/detail/default_deleter.hpp"
#include "yaclib/util/detail/default_event.hpp"
#include "yaclib/util/detail/intrusive_list.hpp"
#include "yaclib/util/detail/intrusive_ptr_impl.hpp"
#include "yaclib/util/detail/mutex_event.hpp"
#include "yaclib/util/detail/node.hpp"
#include "yaclib/util/detail/safe_call.hpp"
#include "yaclib/util/detail/set_deleter.hpp"
#include "yaclib/util/detail/shared_func.hpp"
#include "yaclib/util/detail/type_traits_impl.hpp"
#include "yaclib/util/detail/unique_counter.hpp"
#include "yaclib/util/fail_policy.hpp"
#include "yaclib/util/func.hpp"
#include "yaclib/util/helper.hpp"
#include "yaclib/util/intrusive_ptr.hpp"
#include "yaclib/util/order_policy.hpp"
#include "yaclib/util/ref.hpp"
#include "yaclib/util/result.hpp"
#include "yaclib/util/type_traits.hpp"
#include "yaclib_std/atomic"
#include "yaclib_std/barrier"
#include "yaclib_std/chrono"
#include "yaclib_std/condition_variable"
#include "yaclib_std/detail/atomic.hpp"
#include "yaclib_std/detail/atomic_fence.hpp"
#include "yaclib_std/detail/atomic_flag.hpp"
#include "yaclib_std/detail/atomic_flag_op.hpp"
#include "yaclib_std/detail/atomic_op.hpp"
#include "yaclib_std/detail/atomic_ref.hpp"
#include "yaclib_std/detail/barrier.hpp"
#include "yaclib_std/detail/binary_semaphore.hpp"
#include "yaclib_std/detail/call_once.hpp"
#include "yaclib_std/detail/clock.hpp"
#include "yaclib_std/detail/condition_variable.hpp"
#include "yaclib_std/detail/condition_variable_any.hpp"
#include "yaclib_std/detail/counting_semaphore.hpp"
#include "yaclib_std/detail/jthread.hpp"
#include "yaclib_std/detail/latch.hpp"
#include "yaclib_std/detail/mutex.hpp"
#include "yaclib_std/detail/random_device.hpp"
#include "yaclib_std/detail/recursive_mutex.hpp"
#include "yaclib_std/detail/recursive_timed_mutex.hpp"
#include "yaclib_std/detail/shared_mutex.hpp"
#include "yaclib_std/detail/shared_timed_mutex.hpp"
#include "yaclib_std/detail/this_thread.hpp"
#include "yaclib_std/detail/thread.hpp"
#include "yaclib_std/detail/thread_local.hpp"
#include "yaclib_std/detail/timed_mutex.hpp"
#include "yaclib_std/latch"
#include "yaclib_std/mutex"
#include "yaclib_std/random"
#include "yaclib_std/semaphore"
#include "yaclib_std/shared_mutex"
#include "yaclib_std/thread"
#include "yaclib_std/thread_local"