CppCon 2016 has ended
Back To Schedule
Friday, September 23 • 9:00am - 10:00am
Implementing Lightweight Object Persistence with Modern C++

Log in to save this to your schedule, view media, leave feedback and see who's attending!

Modern C++ brings many exciting and powerful advances to both the core language and the standard C++ library. Among these are changes to the standard allocator requirements that now permit allocators to allocate and deallocate blocks of memory that are addressable by generalized (i.e., non-native) pointers, as well as requirements for allocator-aware containers to employ such pointers.

This talk will describe a slightly different way of thinking about memory allocation, decomposing the idea into four distinct structural concepts – addressing model, storage model, pointer interface, and allocation strategy. To illustrate this new mental framework, we'll examine the design of a standard-conformant allocator that uses shared memory as its storage model, and show how it can be used to construct data structures based on standard C++ containers directly in shared memory. We'll then explore how this particular allocator's address-independent storage model supports a form of lightweight object persistence (with some constraints). Along the way we'll compare and contrast the old C++03 allocator requirements with those of C++14, and we'll also see at least one way to implement a generalized pointer. Finally, if time permits, we'll touch on other storage models and possible applications.

avatar for Bob Steagall

Bob Steagall

CppCon Poster Chair, KEWB Computing
I've been working in C++ since discovering the second edition of The C++ Programming Language in a college bookstore in 1992. The majority of my career has been spent in medical imaging, where I led teams building applications for functional MRI and CT-based cardiac visualization... Read More →

Friday September 23, 2016 9:00am - 10:00am PDT
Prince Theater (2nd Floor) Meydenbauer Center