do not click

Meeting C++ 2022   |  Online   |  Training   |  Books   |  Survey   |  Job fair   |  Advertising   |  Jobposting   |  Login

Meeting C++ 2022 - A totally constexpr standard library

Conference | Live Schedule | Talks | Get your ticket | Sponsors | Set your timezone

Paul Keir

Joel Falcou

Track D online

With C++20 constexpr compiler support for dynamic memory allocation, and library support for std::vector/std::string now widely available (MSVC 19.29 (VS16.11), GCC 12.1's standard library (libstdc++), and accessible via Clang), a future C++ standard library can be foreseen, where every function and member function supports constant evaluation.

In this talk we introduce the C'est library project, which adds constexpr support to a range of familiar class templates modelled after the C++ standard library. We highlight an update to the C'est architecture, which aims to simplify the integration of C'est within projects targeting constexpr support. Example projects are also presented including a compile-time compiler (poacher); and Metamath proof database verifier; as well as some more recent developments.

Such parity between compile-time and run-time programming offers advantages in terms of increased programmer productivity; nevertheless, compilation times can increase by a significant factor. To measure progress, we also present CTBench: a set of tools to facilitate comprehensive compile-time benchmarking; based on Clang's time-trace feature.

Please login to comment

Copyright Meetingcpp GmbH Imprint Piwik Opt out Privacy Policy