Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
lic
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

abel - c++ base library

中文版

abel is an open-source collection of c++ library code. it designed to use c++ smartly.

abel

status

Build Status Coverage Status

platform compiler status
centos6 gcc-4.8.5 ok
centos6 gcc-5.3 ok
centos7 gcc-4.8.5 ok
mac os llvm ok

content index

about abel

For several years, I have planned to establish a repository to de-duplicate code from the projects either I have been involved in or I have paid close attention to (e.g.,open source) so that I would develop iteratively based upon the repository. I have tried the codes on many private projects and the applicability is verified. The repository , named after a mathematician as 'Abel', fortunately came out on Jan 1st 2020.

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

$ git clone https://github.com/gottingen/abel.git
$ cd abel
$ mkdir build
$ cd build
$ cmake ..
$ make
$ make test

modules

  • base

    the base module contains code that other modules depends on. no extern dependencies.

  • algorithm

  • atomic

  • chrono

  • container

  • debugging

  • digest

    the digest module contains md5, sha1, sha256 tools.

  • filesystem

    the filesystem module contain a C++17-like filesystem implementation for C++11/C++147/C++17

  • flags

  • format

  • strings

    strings library contains string utilities, such as trim, split. also include a compatible version of string_view.

examples

papers

topics

You can’t perform that action at this time.