Multidimensional Array References for the C++ Standard Library
Offered By: CppNow via YouTube
Course Description
Overview
Explore the proposed array_ref library for C++ in this comprehensive CppNow conference talk. Dive into the world of multidimensional arrays, a crucial data structure for science and engineering applications that currently lacks proper representation in the C++ standard library. Learn about array_ref, a performance-oriented multidimensional array reference proposed for inclusion in future C++ standards or the C++ Library TS. Discover how array_ref provides a powerful and generic abstraction supporting user-defined layouts and access semantics, making it ideal for interoperability with existing applications and other programming languages, as well as addressing special memory regions like GPU memory. Examine the challenges faced in creating an elegant and expressive interface without sacrificing performance or breaking the zero-overhead principle. Gain insights into array_ref's powerful subarray interface designed for performant iteration of multi-dimensional arrays. Understand how to use array_ref to work with multi-dimensional data structures and manage special memory exposed by new architectures. Get started with a stand-alone C++14 implementation of array_ref developed by Bryce, available under the Boost Software License.
Syllabus
Intro
Why Multidimensional Arrays
Array Abstractions
Array Layout
Valerie
Design Goals
ArrayRef
Iterators
Ignore
Internal increment
Multidimensional space
Multidimensional iterators
Multidimensional iterator
Layouts
Element Access
Bounds Check
Valerie Alias
Subarray
Indexing
Taught by
CppNow
Related Courses
Your Favorite Undefined Behavior in C++CppNow via YouTube Under the Hood - Assembly, System Calls, and Hardware in C++
CppNow via YouTube Carbon Language Successor Strategy - From C++ Interop to Memory Safety
CppNow via YouTube Value Oriented Programming Part 1 - You Say You Want to Write a Function
CppNow via YouTube Introducing a Memory-Safe Successor Language in Large C++ Code Bases
CppNow via YouTube