Eliminate all the tedious hassle when making state-of-the-art C++ 14 or 17 libraries!
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
cmake Fix broken cmake configure. Nov 19, 2018
cmakelib Fix typo Aug 15, 2018
doc Fix broken cmake configure. Nov 19, 2018
include Fix broken cmake configure. Nov 19, 2018
pcpp @ 63cf131 upd Oct 25, 2018
scripts Minor improvements to boostify script Mar 28, 2018
src Reworked signal_guard to export more lowest common denominator portab… Jun 22, 2018
test Rename secdec to secded, add alternative implementation technique tes… Jul 3, 2018
valgrind Added ability for ringbuffer_log to immediately print new log items t… Aug 22, 2016
.ci.cmake upd Oct 8, 2017
.clang-format Fix warnings on GCC. May 22, 2016
.clang-tidy Have lint target output fixes without duplicates to the build directory. Dec 14, 2017
.docs.cmake Add AArch64 support to persistent<T>, and a unit test. Apr 6, 2018
.gitattributes gitattributes Jun 18, 2015
.gitignore I think that's the new scanned sources infrastructure working. In the… Jul 3, 2017
.gitmodules Add in a byte implementation. Apr 11, 2018
.quickcpplib Yet more quickcpplib related renaming. Test suite is now clang-tidy c… Jun 10, 2017
.travis.yml Bump GCC required to GCC 6 Apr 6, 2018
CMakeLists.txt ringbuffer_log now attempts to use llvm-symbolizer to print stacktrac… Aug 26, 2017
CTestConfig.cmake Hopefully have raised QuickCppLib on CDash and docs now are auto-comm… Jun 11, 2017
Doxyfile Make doxygen docs actually readable for signal_guard. Jun 15, 2018
Licence.txt Finally got round to writing some Python to restamp the licence boile… May 2, 2017
Readme.md Bump GCC required to GCC 6 Apr 6, 2018
appveyor.yml Definitely fixed appveyor now Sep 24, 2017

Readme.md

Quick C++ Libraries

Eliminate all the tedious hassle when making state-of-the-art C++ 14 or 17 libraries!

(C) 2014-2018 Niall Douglas http://www.nedproductions.biz/

Linux & MacOS: Build Status Windows: Build status

CTest dashboard: http://my.cdash.org/index.php?project=QuickCppLib

Documentation: https://ned14.github.io/quickcpplib/

Would you like state-of-the-art modern cmake 3 build with all the fancy features ready to go like address, memory, thread and undefined behaviour sanitisers, clang-tidy linting, doxygen docs generation, git submodule dependency tracking and ABI version stamping, C++ Modules support and more?

Would you like to generate partially preprocessed single header file editions of your library for maximum convenience and ease of install for your end users?

Would you like a collection of highly reusable useful routines and code built on top of the C++ 14 STL?

Then this is the library you've been looking for! Designed for use as an embedded git submodule, but can also be used to generate by script libraries which don't look like they are QuickCppLib based e.g. apparently authentic Boost libraries.

WARNING: This library is in a highly alpha code state. As much as it has been written to a very high quality and has been tested quite extensively in use by other libraries, it remains in substantial flux and is as such a shifting foundation. You have been warned!

Requirements:

  • GCC 6 or later (Linux)
  • clang 3.5 or later (Linux, OS X, BSD, Android)
  • Visual Studio 2015 Update 2 or later (Windows)
  • cmake 3.1 or later

Todo:

  • Get docs auto updating per commit
  • Raise CDash dashboard
  • Write class packed_backtrace. Add testing.
  • Write script which can generate a Boost library from a quickcpplib library, copying just the parts needed.

Commits and tags in this git repository can be verified using:

-----BEGIN PGP PUBLIC KEY BLOCK-----
Version: GnuPG v2

mDMEVvMacRYJKwYBBAHaRw8BAQdAp+Qn6djfxWQYtAEvDmv4feVmGALEQH/pYpBC
llaXNQe0WE5pYWxsIERvdWdsYXMgKHMgW3VuZGVyc2NvcmVdIHNvdXJjZWZvcmdl
IHthdH0gbmVkcHJvZCBbZG90XSBjb20pIDxzcGFtdHJhcEBuZWRwcm9kLmNvbT6I
eQQTFggAIQUCVvMacQIbAwULCQgHAgYVCAkKCwIEFgIDAQIeAQIXgAAKCRCELDV4
Zvkgx4vwAP9gxeQUsp7ARMFGxfbR0xPf6fRbH+miMUg2e7rYNuHtLQD9EUoR32We
V8SjvX4r/deKniWctvCi5JccgfUwXkVzFAk=
=puFk
-----END PGP PUBLIC KEY BLOCK-----