The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning. Learn more →
Draft Alternatives
Similar projects and alternatives to draft
-
-
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Asciidoctor
:gem: A fast, open source text processor and publishing toolchain, written in Ruby, for converting AsciiDoc content to HTML 5, DocBook 5, and other formats.
-
-
libhal
A collection of interfaces and abstractions for embedded peripherals and devices using modern C++
-
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
-
-
-
-
-
-
TypeScript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
-
-
CppCoreGuidelines
The C++ Core Guidelines are a set of tried-and-true guidelines, rules, and best practices about coding in C++
-
-
-
llvm-project
The LLVM Project is a collection of modular and reusable compiler and toolchain technologies.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
draft reviews and mentions
-
C++23: The Next C++ Standard
I should have said the "latest standard", not "spec", if we're being technical. But EVERY bit of official material is very clear about asserting that C++23 is still a preview/in-progress, not a standard. Saying otherwise is, strictly speaking, incorrect.
https://isocpp.org/std/the-standard
https://www.iso.org/standard/79358.html
https://github.com/cplusplus/draft/blob/main/papers/n4951.md
-
Never trust a programmer who says they know C++
[3] https://github.com/cplusplus/draft/releases/tag/n4917
*This is a joke, but only barely so.
-
How to become a C++ Chad ?
pdf
-
Can sanitizers find the two bugs I wrote in C++?
> I don't have a copy of the standard at hand, can anyone quote the relevant section?
The C++ (draft) standard is on GitHub! [0] Compiling it needs Perl and some LaTeX packages, but is reasonably straightforwards otherwise. In addition, links to specific draft standards can be found on cppreference [1].
But anyways, in the first C++20 post-publication draft (N4868), the wording you're interested in is in multiple sections. Section 22.2.3 Sequence Containers [sequence.reqmts] has Table 78: Optional sequence container operations [tab:container.seq.opt] (starting on page 815), which states that a precondition of pop_back() is that empty() returns false. Section 16.3.2.4 Detailed Specifications [structure.specifications] (page 481) states:
> Preconditions: the conditions that the function assumes to hold whenever it is called; violation of any preconditions results in undefined behavior.
Therefore, calling pop_back() on an empty vector results in undefined behavior.
> Is this something that in practice is implemented in different (exception-throwing) ways?
Based on a quick glance at the major implementations (libc++ 15.0.7 at [2], MSVC at [3], libstdc++ at [4]), it looks like asserts are used. Whether those result in exceptions probably depends on whether the asserts are compiled in in the first place and how they are implemented, but it's definitely not a guaranteed exception.
[0]: https://github.com/cplusplus/draft
[1]: https://en.cppreference.com/w/cpp/links
[2]: https://github.com/llvm/llvm-project/blob/llvmorg-15.0.7/lib...
[3]: https://github.com/llvm/llvm-project/blob/8dfdcc7b7bf66834a7...
[4]: https://gcc.gnu.org/git/?p=gcc.git;a=blob;f=libstdc%2B%2B-v3...
-
Rust and C++
https://github.com/cplusplus/draft/releases/download/n4917/n4917.pdf (page 1, chapter 1 scope):
-
My programming language history
C/C++
-
WG21, aka C++ Standard Committee, May 2022 Mailing
Yes, its actually the "individual papers" link there: https://www.open-std.org/jtc1/sc22/wg21/
-
Exactly how expensive is <vector> to include in an embedded environment?
It used to be undefined behaviour for all types, even trivial builtin types like int, until some change in 2020, because it wouldn't start their lifetime, but they have fixed this now, afaik even retroactively for C++17: https://github.com/cplusplus/draft/pull/3765
- Is it possible to buy a physical print copy of the C++20 standard?
-
The one and only..
It is written in TeX.
-
A note from our sponsor - WorkOS
workos.com | 28 Mar 2024
Stats
The primary programming language of draft is TeX.