Giter VIP home page Giter VIP logo

awesome-modern-cpp's Introduction



Awesome Modern C++

A collection of resources on modern C++.

The goal is to collect a list of resources to help people learn about and leverage modern C++11 and beyond.

Contributing

To add, remove or change things on the list: please submit a pull request to the GitHub repository.

Best Practices

Books

For a comprehensive guide to C++ books see the Stackoverflow Definitive C++ Book Guide and List.

Blogs

Conferences

Libraries

This is not supposed to be a comprehensive list of all C and C++ libraries. It is a list of high-quality modern libraries with general applicability (serialization, database, testing, etc) or high-quality libraries with novel use of new C++ features.

  • abseil - Abseil Common Libraries.
  • autocheck - QuickCheck and SmallCheck clones for C++.
  • Bandit - A header-only framework for C++11 that wants to make working with unit tests a pleasant experience.
  • Beast - HTTP and WebSocket built on Boost.Asio in C++11.
  • BigIntegerCPP - A C++11 large integer library with effective high performance, simplistic in nature and also clean in the eyes.
  • Boost.Hana - Your standard library for metaprogramming.
  • Boost - Collection of C++ libraries.
  • {fmt} - Small, safe and fast formatting library.
  • CAF - An Open Source Implementation of the Actor Model in C++.
  • Catch - A modern, C++-native, header-only, framework for unit-tests, TDD and BDD.
  • doctest - The lightest feature rich C++ single header testing framework.
  • cereal - A C++11 library for serialization.
  • ChaiScript - An easy to use embedded scripting language for C++.
  • Cinder - Cinder is a free and open source library for professional-quality creative coding in C++.
  • Conduit - High Performance Streams Based on Coroutine TS.
  • cpptoml - A header-only library for parsing TOML configuration files.
  • cppitertools - itertools (python) implementation for C++14
  • cpr - C++ Requests: Curl for People, a spiritual port of Python Requests.
  • Crow - Crow is very fast and easy to use C++ micro web framework.
  • Cpp-Taskflow - Modern C++ Parallel Task Programming Library
  • cxxopts - Lightweight C++ command line option parser.
  • docopt.cpp - docopt creates beautiful command-line interfaces.
  • date - A date and time library based on the C++11/14/17 header.
  • EnTT - A header-only, fast and, reliable entity-component system (ECS) for modern C++.
  • Drogon - A C++14/17 based, high-performance HTTP application framework
  • Fakeit - A C++11 based simple mocking framework
  • fixed_size_function - Fixed size function wrapper like std::function.
  • Folly - Facebook Open-source Library.
  • HashLib4CPP - C++11 library that provides an easy to use interface for computing hashes and checksums of strings, files, streams, bytearrays and untyped data to mention but a few. It also supports Incremental Hashing.
  • Inja - A Template Engine for Modern C++.
  • IntX - A C++11 port of IntX arbitrary precision Integer library with speed, about O(N * log N) multiplication/division algorithms implementation.
  • iod - Meta programming utilities for C++14.
  • json - JSON for Modern C++.
  • jsoncpp - A C++ library for interacting with JSON.
  • Junction - Concurrent data structures in C++.
  • Magic Enum - Static reflection for enums (to string, from string, iteration) for modern C++, work with any enum type without any macro or boilerplate code.
  • mongo-cxx-driver - C++ Driver for MongoDB.
  • mstch - An implementation of Mustache templates using modern C++.
  • Mustache - Mustache text templates in C++11.
  • Nonius - A C++ micro-benchmarking framework.
  • oat++ - High-performance Web framework (C++11, zero-dependency).
  • PEGTL - Parsing Expression Grammar Template Library (C++11, header-only).
  • pistache - An elegant C++ REST framework.
  • pybind11 - Seamless operability between C++11 and Python.
  • random - A simple, convenient, header only Random for modern C++.
  • rang - A simple, modern & header only C++11 library for colors in your terminal.
  • range-v3 - Experimental range library for C++11/14/17.
  • rapidcheck - QuickCheck clone for C++.
  • redox - Modern, asynchronous, and wicked fast C++11 client for Redis.
  • restbed - Restbed framework brings asynchronous RESTful functionality to C++11 applications.
  • simple_match - Simple header only pattern matching for c++14.
  • sol2 - C++ library binding to Lua.
  • sqlite3pp - C++ wrapper of SQLite3 API.
  • sqlite_orm - powerful header only SQLite3 ORM library for C++14.
  • sqlpp11 - A type safe SQL template library for C++.
  • tinyformat.h - Minimal, type safe printf replacement library for C++.
  • tinytoml -A header only C++11 library for parsing TOML.
  • tweeny - A header only interpolation library with 30+ easing functions.
  • Vireo - A lightweight and versatile video processing library by Twitter.
  • yaml-cpp - A YAML parser and emitter in C++.
  • ASAP - header-only library to parse, display, operate and iterate on dates.
  • Nameof - A header-only C++17 library provides nameof macros and functions to obtain the simple name of variable, type, function, macro, and enum.

Websites

Talks

Tools

  • American fuzzy lop - American fuzzy lop is a security-oriented fuzzer.
  • Buckaroo - Fully Decentralized Polyglot Package Manager for C++ and Friends
  • cget - CMake package retrieval.
  • clang-format - A tool to format C++ code.
  • clang-tidy - A clang-based C++ "linter" and static analysis tool.
  • CMake - Cross-platform family of tools designed to build, test and package software.
  • Compiler Explorer - Interactively explore the assembly output of your C++ code.
  • conan - C/C++ package manager.
  • cppcheck - Static analysis of C/C++ code.
  • C++ Archive Network - CPPAN - Cross-platform C/C++ package manager.
  • CPM - A CMake script for setup-free cross-plattform dependency management.
  • Hunter - Cross-platform package manager for C++.
  • irony-mode - A C/C++ minor mode for Emacs powered by libclang.
  • modern-cpp-font-lock-mode - Syntax highlighting support for Modern C++ with emacs
  • vcpkg - C++ Library Manager for Windows, Linux, and MacOS

Podcasts

About

This list was compiled by Erik Rigtorp with help from the C++ community:

awesome-modern-cpp's People

Contributors

0xflotus avatar aminroosta avatar an-tao avatar anthonywilliams avatar colinh avatar dinony avatar effolkronium avatar egorpugin avatar fnc12 avatar hftrader avatar jakeshirley avatar jaques-sam avatar lganzzzo avatar mobius3 avatar mossbot1 avatar neargye avatar nikhedonia avatar njlr avatar onqtam avatar pantor avatar remyabel2 avatar rigtorp avatar robwirving avatar ron4fun avatar sebastiencs avatar shra1dhar avatar spajus avatar thelartians avatar tsung-wei-huang avatar vivekkumarsingh07 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.