YoVDO

How C++20 Can Simplify std - tuple

Offered By: ACCU Conference via YouTube

Tags

ACCU Conference Courses High Performance Computing Courses Code Optimization Courses Generic Programming Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore how C++20 simplifies std::tuple implementation in this ACCU 2019 conference talk. Dive into the application of new language features like Concepts, attributes, and extended syntax to create a high-performance, optimized implementation with minimal complexity. Learn about the evolution of std::tuple across C++ standards, implementation challenges, and how C++20's features combine to streamline the code. Discover techniques for generic wrapper types, comparison implementations, and the impact of fold expressions, expansion statements, and the spaceship operator. Gain insights from Alisdair Meredith, a former chair of the C++ Standard Committee Library Working Group, on leveraging C++20's capabilities to enhance tuple functionality and simplify development.

Syllabus

Intro
C++20 Big Ticket Items
Modules...
Outline of a Module
Module Preamble
What is a tuple
Naming emphasizes structure
Why is get not a member?
C++17 tuple Enhancments
C++17 Language Features
Fold Expressions (C++17)
Fold Expression Grammar
Generic Implementation
Implementing comparison in C++17
Basic Implementation
SFINAE constraints
Perform comparison
Implementing comparison in C++20
The TupleLike Concept
swap using lambda in C++20
swap using expansion statement in C++20
Expansion Statements
Support Structured Binding
Implementing operators in
with expansion statement
Final Rendering with the Spaceship Operator
What Can Spaceship Return?
Implementation Strategy 1
Basic Model
Implementing get
Ideal Version of wrap
Issues with wrap


Taught by

ACCU Conference

Related Courses

Advanced Java Programming
Udemy
Scala Type Classes and Parameterization
Pluralsight
Random Variables as Types - Lecture 11
The Julia Programming Language via YouTube
Hands-on With Dynamic Dispatch Traits in Rust - Rust Tutorial for Developers
Trevor Sullivan via YouTube
IEnumerable and IEnumerator Interfaces in C#
tutorialsEU via YouTube