YoVDO

Fancy Pointers for Fun and Profit

Offered By: CppNow via YouTube

Tags

C++Now Courses C++ Courses Memory Management Courses

Course Description

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the intricacies of implementing user-defined types that mimic ordinary pointers in modern C++ through this comprehensive conference talk. Dive into the concept of fancy or synthetic pointers and their applications in building standard-conforming allocators for relocatable memory, compatible with standard containers. Learn how these components enable the use of standard containers in shared-memory databases, self-contained private heaps, and lightweight object persistence. Examine two addressing models - 2D addressing and offset addressing - as policy types for a synthetic pointer class template, and investigate simple storage models supporting raw memory allocation. Analyze the synthetic pointer class in detail, focusing on its interaction with addressing models to implement pointer operations and emulate an ordinary pointer's interface. Discover alternative implementations and practical applications, including containers in shared memory and self-contained private heaps. Gain insights from Bob Steagall's 25 years of C++ experience across medical imaging, DNS, analytics, and distributed stream processing fields.

Syllabus

Introduction
Outline
Summary
Motivation
Serialization
Intermediate Format
Costs
Intermediate formats
Object persistence
Standard layout types
Not relocatable types
Addressing and allocation
Addressing model
Pointer interface
Allocation strategy
Thread safety transaction safety
Notes on synthetic pointers
Runtime cost
Framework
Framework Types
Addressing Models
Wrapper Addressing Model
Why the Union
Tactical Decision
Segment Address
Segment Offset
TwoDimensional Mask Addressing
Offset Addressing
Helper Functions
Null Offset
Helper Traits
Type Deaths
Iterators
Assignments
Comparison Helpers
Monotonic Allocation
Allocator
Results


Taught by

CppNow

Related Courses

Heterogeneous Parallel Programming
University of Illinois at Urbana-Champaign via Coursera
Advanced Operating Systems
Georgia Institute of Technology via Udacity
計算機程式設計 (Computer Programming)
National Taiwan University via Coursera
Introduction to Operating Systems
Georgia Institute of Technology via Udacity
Android Performance
Google via Udacity