Coder Social home page Coder Social logo

awesome-modern-cpp's Introduction



Awesome Modern C++

A collection of resources on modern C++.

The goal is to collect a list of resouces 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

  • ACCU - The Conference for Developers.
  • C++ Now - A gathering of C++ experts and enthusiasts.
  • CppCon - The C++ Conference.
  • Meeting C++ - A independent C++ Conference.

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.

  • 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
  • Boost.Hana - Your standard library for metaprogramming.
  • Boost - Collection of C++ libraries.
  • C++ Format - Small, safe and fast formatting library for C++.
  • 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++.
  • 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.
  • 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
  • fixed_size_function - Fixed size function wrapper like std::function.
  • Folly - Facebook Open-source Library.
  • 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++.
  • mongo-cxx-driver - C++ Driver for MongoDB.
  • mstch - A implementation of Mustache templates using modern C++.
  • Mustache - Mustache text templates in C++11.
  • Nonius - A C++ micro-benchmarking framework.
  • 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.
  • 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.

Websites

Talks

Tools

  • American fuzzy lop - American fuzzy lop is a security-oriented fuzzer.
  • 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.
  • 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

About

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

awesome-modern-cpp's People

Contributors

agauniyal avatar anthonywilliams avatar canbal avatar chaosteil avatar colinh avatar egorpugin avatar fnc12 avatar hftrader avatar ilqvya avatar jondot avatar mobius3 avatar onqtam avatar remyabel2 avatar rigtorp avatar robwirving avatar sebastiencs avatar spajus avatar

Watchers

 avatar  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.