CodeNebula
All paths

Supernova Expert

Master the cutting edge. Concepts, ranges, coroutines in C++20, and C++23/26 features.

0 / 30 completed0%
1

Concepts (C++20 Addition)

Define constraints on template parameters, improving type checking and error mes...

C++20
2

Constraints and Requires Clauses (C++20 Addition)

Specify requirements for template parameters using `requires` clauses....

C++20
3

Constrained Templates (C++20 Addition)

Use concepts directly in template declarations for concise constraints....

C++20
4

Abbreviated Function Templates (C++20 Addition)

Use `auto` in function templates for simpler syntax....

C++20
5

Three-Way Comparison Operator (Spaceship Operator, <=>) (C++20 Addition)

Single operator for comparing objects, returning `std::strong_ordering` or simil...

C++20
6

std::strong_ordering (C++20 Addition)

Comparison result type for strict total order (e.g., integers)....

C++20
7

std::weak_ordering (C++20 Addition)

Comparison result type for weak ordering (e.g., case-insensitive strings)....

C++20
8

std::partial_ordering (C++20 Addition)

Comparison result type for partial ordering (e.g., floating-point with NaN)....

C++20
9

Lambda Improvements (C++20 Evolution)

Lambdas support `constexpr`, explicit template parameters, and capture of `this`...

C++20
10

Stateless Lambda Call Operator as consteval (C++20 Addition)

Stateless lambdas can have `consteval` call operators for compile-time execution...

C++20
11

Lambda Capture of [this] by Value (C++20 Evolution)

Lambdas can capture `this` by value, copying the object....

C++20
12

Template Lambdas (C++20 Addition)

Lambdas with explicit template parameters for generic programming....

C++20
13

Constexpr Improvements (C++20 Evolution)

`constexpr` supports virtual functions, dynamic memory, and STL types like `std:...

C++20
14

Constexpr Virtual Functions (C++20 Addition)

Virtual functions can be `constexpr`, enabling compile-time polymorphism....

C++20
15

Constexpr Dynamic Memory Allocation (C++20 Addition)

`new` and `delete` can be used in `constexpr` contexts for dynamic allocation....

C++20
16

Constexpr std::string (C++20 Evolution)

`std::string` supports `constexpr` operations for compile-time string manipulati...

C++20
17

Constexpr std::vector (C++20 Evolution)

`std::vector` supports `constexpr` operations for compile-time container manipul...

C++20
18

Immediate Functions (consteval) (C++20 Addition)

Functions guaranteed to evaluate at compile time....

C++20
19

Constant Evaluation for Non-Type Template Parameters (C++20 Addition)

Non-type template parameters can be evaluated at compile time with `constexpr`....

C++20
20

std::is_constant_evaluated (C++20 Addition)

Checks if code is evaluated in a `constexpr` context....

C++20
21

Modules (C++20 Addition)

Replace headers with modules for faster compilation and better encapsulation....

C++20
22

Import/Export Declarations (C++20 Addition)

`import` and `export` manage module dependencies and interfaces....

C++20
23

Coroutines (C++20 Addition)

Functions that can suspend and resume execution, enabling asynchronous programmi...

C++20
24

co_await (C++20 Addition)

Suspends a coroutine until an awaited operation completes....

C++20
25

co_yield (C++20 Addition)

Yields a value from a coroutine, suspending execution....

C++20
26

co_return (C++20 Addition)

Returns a value from a coroutine, completing it....

C++20
27

std::source_location (C++20 Addition)

Provides compile-time information about the source code (e.g., file, line)....

C++20
28

std::endian (C++20 Addition)

Queries the endianness of the platform....

C++20
29

Designated Initializers (C++20 Addition)

Initialize struct members by name, improving readability....

C++20
30

[[no_unique_address]] Attribute (C++20 Addition)

Allows empty non-static data members to occupy no space, optimizing memory....

C++20