Type-Safe Interfaces With Modern C++

Posted By: ELK1nG

Type-Safe Interfaces With Modern C++
Last updated 11/2019
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 685.67 MB | Duration: 2h 16m

Master the art of development with Modern C++ type system

What you'll learn

Use type system to your advantage

Create safe, rich and expressive interfaces

Use Pattern matching to implement metaprogramming

Real world scenarios to tackle programming tasks

Requirements

C++, C++11/14 and master Modern C++17 utilities and techniques

Description

In this course we’ll learn how to write correct, safe, and performant code by making use of C++’s type system. Firstly, we’ll learn about the Standard Library’s “algebraic data types” and how they can increase safety, performance, and readability of your application/library. We’ll then look at function interfaces. As an example, writing a function that takes a string in such a way that it performs optimally with both std::string and const char* seems like a daunting task. It gets even more tricky with functions taking other functions as input. Is it possible to generalize these issues and provide the “perfect” interface?About the Author :Vittorio Romeo is a Software Engineer at Bloomberg LP. He completed his Bachelor's degree in Computer Science at "Università degli Studi di Messina".
He began programming at a very young age and is now a C++ enthusiast. While following the evolution of the C++ standard and embracing the newest features, he worked on several open-source projects, including modern general-purpose libraries and free cross-platform games.
Vittorio is an active member of the C++ community: he participated as a speaker at CppCon 2014/2015/2016, ++it Florence 2015 and at his local Linux Day 2013/2014 events, as a Student/Volunteer at C++Now 2015/2016, at Meeting C++ 2015/2016.
He currently maintains a C++-related blog and a YouTube channel featuring well-received modern C++11 and C++14 tutorials.
When he's not writing code, Vittorio enjoys weightlifting and fitness-related activities, competitive/challenging computer gaming and good sci-fi movies/TV-series.

Overview

Section 1: Variants

Lecture 1 The Course Overview

Lecture 2 Understanding Variants

Lecture 3 std::variant – Basic Interface

Lecture 4 std::variant – Visitation

Lecture 5 std::variant – Use Cases

Lecture 6 std::variant – Recap

Section 2: Implementing Variant Pattern Matching

Lecture 7 The Problem with std::visit

Lecture 8 Creating an Overload Set

Lecture 9 Match – Implementation

Lecture 10 Match – Recap

Section 3: Optionals

Lecture 11 What Is an Optional?

Lecture 12 std::optional – Basic Interface

Lecture 13 std::optional – Use Cases

Section 4: Function Parameters and Ownership

Lecture 14 std::string

Lecture 15 std::string_view – Introduction

Lecture 16 std::string_view – Basic Interface

Lecture 17 std::string_view in Interfaces

Lecture 18 Other Examples of Owning/View Classes

Intermediate C++ developers familiar with C++11/14 aiming to discover and master Modern C++17 utilities and techniques.