GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - basicpp/co-cpp19: C++20 Library with the fastest runtime and compile times

BranchesTags
Open more actions menu

Latest commit

 

History

242 Commits
242 Commits

Folders and files

NameName
Last commit message
Last commit date
.devcontainer
.devcontainer
 
 
.github/workflows
.github/workflows
 
 
helpers
helpers
 
 
qbs/imports/online
qbs/imports/online
 
 
script
script
 
 
src
src
 
 
third_party
third_party
 
 
.clang-format
.clang-format
 
 
.clang-tidy
.clang-tidy
 
 
.editorconfig
.editorconfig
 
 
.gitignore
.gitignore
 
 
CMakeLists.txt
CMakeLists.txt
 
 
CMakePresets.json
CMakePresets.json
 
 
CoCpp19Config.cmake.in
CoCpp19Config.cmake.in
 
 
LICENSE
LICENSE
 
 
Readme.md
Readme.md
 
 
co-cpp19.qbs
co-cpp19.qbs
 
 

Repository files navigation

Co-C++19

The Fastest Meta Programming Library

A versatile collection of compile time optimized tools for C++ programming.

Qbs-Tests CMake-Tests Static Analyzer

Target Compilers

This library uses the latest C++ features available in GCC, Clang and Visual Studio 2019 and 2022. It compiles in "c++20" mode on all compilers.

Currently tested Compilers:

  • Clang 12 to 15
  • GCC 11, 12
  • Visual Studio 2019 v16.11.x, 2022 v17.4.x

Contents

Co-Cpp19 contains a lot of sublibraries and is splitted into many small headers. This aims to enable the "pay only what you use policy" of C++ at compile time.

  • cpp19 - compiler configuration (yours should be somewhat similar)
  • array19 - static and dynamic arrays, slices
  • meta19 - utilities, type, index and pack wrappers and operations
  • coro19 - basic coroutine with generator support
  • strong19 - named strong types with tags
  • enum19 - inspectable enum definitions
  • string19 - compiletime string, view and string rope
  • tuple19 - faster to compile std::tuple replacement
  • optional19 - continuable optional and packed optional
  • variant19 - faster compile and runtime std::variant replacement
  • partial19 - densly packed and heap managed tuple<optional<>>
  • serialize19 - customizable binary serialisation and deserialisation

Work in progress libraries, with less tests:

  • signal19 - fast signal and slot handling
  • lookup19 - ordered dynamic array lookup container

Naming Schema

C++ uses a unified namespace between types, functions and constants. Therefore we use the following patterns.

  • UpperCamelCasing for types
  • lowerCamelCasing for functions
  • UPPER_CASING for precompiler definitions
  • lower_casing for constexpr constants, concepts and namespaces

Words and Phrases

  • *Of - reflects something of a type
  • *At - uses something at an index
  • [v]From() - converts from arguments to v
  • *Type* - indicates that the method is just a signature for usage with decltype()

About

C++20 Library with the fastest runtime and compile times

Topics

collectionscoroutinescpp-librariescpp20metaprogrammingoptimizedvalue-types

Resources

Readme
MIT license
Activity
Custom properties

Stars

15 stars

Watchers

2 watching

Forks

3 forks
Report repository

Releases

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.