A collection of modern and versatile C/C++ components that are useful in many application development scenarios.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
docs
include
libs
resources
src
tests
.gitignore
.gitmodules
.travis.yml
CMakeLists.txt
LICENSE
Makefile
README.md

README.md

logo

Sneaker

Build status Docs build status Coverage Status

Sneaker is a collection of modern and versatile C++ components that are useful in many application development scenarios.

The designs and implementations in the library are based on the philosophy that each component has its own responsibility in answering one or more of the six aspects of all software systems, namely the “what”, “when”, “where”, “who”, “why” and “how”. The elegance and succinctness of the code intrinsically demonstrates the “how”. The design of each component and interface focuses on the “who”, “when” and “where” to clearly illustrate the interactions with other systems. Finally, good documentation and comments reflects the “what” and “why” to users.

In addition, the design of many components are heavily inspired from features and models from other high level programming languages that are either absent or not first-class citizens in the C++ world, such as the use of scoped context management and function decorators, which are all prevalent features in Python.

Overview

Sneaker is consisted of the following major components:

  • libc - C utilities
  • algorithm - a collection of advanced algorithms
  • allocator - STL container allocator
  • cache - in-memory cache management
  • container - versatile data structures
  • context - context management
  • functional - versatile function wrappers that support asynchronous invocations
  • I/O - general I/O utilities
  • logging - extensible logging facilities
  • json - JSON serialization, deserialization and schema validation
  • threading - thread management and daemons
  • utility - miscellaneous utilities
  • testing - testing utilities

Get Started

  1. Check out the documentations
  1. Build from source and install library

make && make install

  1. Read the wiki if you'd like to contribute

Latest Version

version 0.3.1

License

Sneaker is licensed under The MIT License.