cppcommon/cci.20201104

C++ Common Library contains reusable components and patterns for error and exceptions handling, filesystem manipulations, math, string format and encoding, shared memory, threading, time management and others.
Recipe info
2024-01-03

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
cppcommon/cci.20201104

Using cppcommon

Note

If you are new with Conan, we recommend to read the section how to consume packages.

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]
cppcommon/cci.20201104
[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("cppcommon/cci.20201104")

    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): cppcommon
  • CMake target name(s): cppcommon::cppcommon
  • pkg-config file name(s): cppcommon.pc

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

# ...
find_package(cppcommon REQUIRED)
# ...
target_link_libraries(YOUR_TARGET cppcommon::cppcommon)

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

#include "algorithms/token_bucket.h"
#include "algorithms/token_bucket.inl"
#include "cache/filecache.h"
#include "cache/filecache.inl"
#include "cache/memcache.h"
#include "cache/memcache.inl"
#include "common/flags.h"
#include "common/flags.inl"
#include "common/function.h"
#include "common/function.inl"
#include "common/reader.h"
#include "common/uint128.h"
#include "common/uint128.inl"
#include "common/uint256.h"
#include "common/uint256.inl"
#include "common/version.h"
#include "common/writer.h"
#include "containers/bintree.h"
#include "containers/bintree.inl"
#include "containers/bintree_aa.h"
#include "containers/bintree_aa.inl"
#include "containers/bintree_avl.h"
#include "containers/bintree_avl.inl"
#include "containers/bintree_rb.h"
#include "containers/bintree_rb.inl"
#include "containers/bintree_splay.h"
#include "containers/bintree_splay.inl"
#include "containers/flatmap.h"
#include "containers/flatmap.inl"
#include "containers/hashmap.h"
#include "containers/hashmap.inl"
#include "containers/list.h"
#include "containers/list.inl"
#include "containers/queue.h"
#include "containers/queue.inl"
#include "containers/stack.h"
#include "containers/stack.inl"
#include "errors/exceptions.h"
#include "errors/exceptions_handler.h"
#include "errors/fatal.h"
#include "errors/system_error.h"
#include "filesystem/directory.h"
#include "filesystem/directory.inl"
#include "filesystem/directory_iterator.h"
#include "filesystem/directory_iterator.inl"
#include "filesystem/exceptions.h"
#include "filesystem/file.h"
#include "filesystem/file.inl"
#include "filesystem/filesystem.h"
#include "filesystem/path.h"
#include "filesystem/path.inl"
#include "filesystem/symlink.h"
#include "filesystem/symlink.inl"
#include "interface/interface.h"
#include "math/math.h"
#include "math/math.inl"
#include "memory/allocator.h"
#include "memory/allocator.inl"
#include "memory/allocator_arena.h"
#include "memory/allocator_arena.inl"
#include "memory/allocator_heap.h"
#include "memory/allocator_heap.inl"
#include "memory/allocator_null.h"
#include "memory/allocator_null.inl"
#include "memory/allocator_pool.h"
#include "memory/allocator_pool.inl"
#include "memory/allocator_stack.h"
#include "memory/allocator_stack.inl"
#include "memory/memory.h"
#include "memory/memory.inl"
#include "memory/memory_leaks.h"
#include "memory/memory_leaks_debug.h"
#include "plugins/interface/interface.h"
#include "string/encoding.h"
#include "string/format.h"
#include "string/format.inl"
#include "string/string_utils.h"
#include "string/string_utils.inl"
#include "system/console.h"
#include "system/console.inl"
#include "system/cpu.h"
#include "system/dll.h"
#include "system/dll.inl"
#include "system/environment.h"
#include "system/exceptions.h"
#include "system/pipe.h"
#include "system/pipe.inl"
#include "system/process.h"
#include "system/process.inl"
#include "system/shared_memory.h"
#include "system/shared_type.h"
#include "system/shared_type.inl"
#include "system/source_location.h"
#include "system/source_location.inl"
#include "system/stack_trace.h"
#include "system/stack_trace_manager.h"
#include "system/stream.h"
#include "system/stream.inl"
#include "system/uuid.h"
#include "system/uuid.inl"
#include "threads/barrier.h"
#include "threads/condition_variable.h"
#include "threads/condition_variable.inl"
#include "threads/critical_section.h"
#include "threads/event_auto_reset.h"
#include "threads/event_manual_reset.h"
#include "threads/file_lock.h"
#include "threads/latch.h"
#include "threads/latch.inl"
#include "threads/locker.h"
#include "threads/mpmc_ring_queue.h"
#include "threads/mpmc_ring_queue.inl"
#include "threads/mpsc_linked_batcher.h"
#include "threads/mpsc_linked_batcher.inl"
#include "threads/mpsc_linked_queue.h"
#include "threads/mpsc_linked_queue.inl"
#include "threads/mpsc_ring_buffer.h"
#include "threads/mpsc_ring_buffer.inl"
#include "threads/mpsc_ring_queue.h"
#include "threads/mpsc_ring_queue.inl"
#include "threads/mutex.h"
#include "threads/named_condition_variable.h"
#include "threads/named_condition_variable.inl"
#include "threads/named_critical_section.h"
#include "threads/named_event_auto_reset.h"
#include "threads/named_event_manual_reset.h"
#include "threads/named_mutex.h"
#include "threads/named_rw_lock.h"
#include "threads/named_semaphore.h"
#include "threads/rw_lock.h"
#include "threads/semaphore.h"
#include "threads/seq_lock.h"
#include "threads/seq_lock.inl"
#include "threads/spin_barrier.h"
#include "threads/spin_barrier.inl"
#include "threads/spin_lock.h"
#include "threads/spin_lock.inl"
#include "threads/spsc_ring_buffer.h"
#include "threads/spsc_ring_buffer.inl"
#include "threads/spsc_ring_queue.h"
#include "threads/spsc_ring_queue.inl"
#include "threads/thread.h"
#include "threads/thread.inl"
#include "threads/wait_batcher.h"
#include "threads/wait_batcher.inl"
#include "threads/wait_queue.h"
#include "threads/wait_queue.inl"
#include "threads/wait_ring.h"
#include "threads/wait_ring.inl"
#include "time/time.h"
#include "time/time.inl"
#include "time/timespan.h"
#include "time/timespan.inl"
#include "time/timestamp.h"
#include "time/timestamp.inl"
#include "time/timezone.h"
#include "time/timezone.inl"
#include "utility/countof.h"
#include "utility/endian.h"
#include "utility/endian.inl"
#include "utility/iostream.h"
#include "utility/resource.h"
#include "utility/singleton.h"
#include "utility/static_constructor.h"
#include "utility/static_constructor.inl"
#include "utility/validate_aligned_storage.h"