# abel **Repository Path**: gottingen/abel ## Basic Information - **Project Name**: abel - **Description**: No description available - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-12-25 - **Last Updated**: 2021-12-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # abel - c++ base library abel is an Oteam collection of c++ library code. it designed to use c++ smartly. ![abel](https://github.com/gottingen/abel/blob/master/docs/images/abel.png) ## status platform|compiler | status :--- | :---| :--- centos6 | gcc-5.3 | ok centos7 | gcc-5.3 | ok mac os | llvm | ok ## content index * [about abel](#about) * [about cmake](#cmake) * [build abel](#build) * [modules](#modules) * [examples](#examples) * [papers](#papers) * [topics](#topics) ## about abel Since the inception, it's aimed to **`consolidate algorithms, data structures, system operations and make sure it's under control.`** Particularly, the goals are: * to have a library that has been well implemented and tested containing tools and algorithm. * aim high modularity with reduced dependencies between modules. * zero external dependencies. * build on all platforms with c++, such as linux, mac, android, windows, mobiles. * no warning and bugs on any platform and compiler. * published interfaces are required to have full documentation, using case description,performance benchmark and evaluation. * keep overhead down, compress overall size. ## about cmake ## build abel abel use cmake as build system. sample to build abel compiler requirement - clang version > 3.3 - gcc version > 4.8 - cmake version > 3.5(if you build benchmark) otherwise 2.8 is enough build step abel dependency managed by carbin flow, first need install carbin to install depends by [carbin](https://github/gottingen/carbin) ```shell $ git github.com/gottingen/abel.git $ cd abel $ carbin install $ mkdir build $ cd build $ cmake .. $ make $ make test ``` ## modules * [base](/docs/en/base.md) the base module contains code that other modules depends on. no extern dependencies. * [algorithm](/docs/en/algorithm.md) * [atomic](/docs/en/atomic.md) * [chrono](/docs/en/chrono.md) * [container](/docs/en/container.md) * [debugging](/docs/en/debugging.md) * [digest](/docs/en/digest.md) the digest module contains md5, sha1, sha256 tools. * [filesystem](/docs/en/filesystem.md) the filesystem module contain a C++17-like filesystem implementation for C++11/C++147/C++17 * [flags](/docs/en/flags.md) * [format](/docs/en/format.md) * [strings](/docs/en/strings.md) strings library contains string utilities, such as trim, split. also include a compatible version of string_view. ## examples ## papers * [Working Draft N4687](/docs/documnet/n4687.pdf) ## topics * [memory](/docs/en/topic/memory.md) * [concurrent](/docs/en/topic/concurrent.md)