Loading…
CppCon 2021 has ended
Online D [clear filter]
Tuesday, October 26
 

12:30pm MDT

Implementing static_vector: How Hard Could it Be?
Delayed broadcast

static_vector is a std::vector that allocates things on the stack instead of the heap. We have std::vector, so it should be easy to write a non-allocating version, right?

Sadly, it's not quite that simple. There are many aspects of the vector interface that make sense based on a container that can reallocate, but do not make sense for a container that cannot. This leads to some API differences. static_vector also faces certain challenges around constexpr that makes it both more and less constexpr than std::vector.

We will go into detail on how std::vector and how static_vector work, how they are similar, and how they differ. This presentation will be focusing on lower-level details and interactions with specific language features in C++20 and (hopefully) C++23. There will be lots of code examples, and we'll step through how they work and where they fall short, trying to build up to a working, production-ready solution.

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

Speakers
avatar for David Stone

David Stone

Software Engineer, Quantlab
David Stone has worked on autonomous vehicles, large-scale distributed systems, and now works developing software for high-frequency trading. He is a member of the C++ Standardization Committee, where he chairs the Modules Study Group (SG2) and is the vice chair of the Evolution Working... Read More →


Tuesday October 26, 2021 12:30pm - 1:30pm MDT
Online D
  • const/Units/Time, Online
 
Thursday, October 28
 

12:30pm MDT

3D Graphics for Dummies
Delayed broadcast

Three-dimensional graphics are much simpler than you would think. I will present the rudimentary techniques for the designs of a simple C++ Matrix library and operator methodologies, through an introduction to 3D Graphics: Points, Vectors, Coordinate Spaces, Matrix Math, Depth Buffer and Rasterization.

We will explore the blood and guts of a C++ Matrix library and 3D graphics. Rather than using off-the-shelf libraries like Unity and OpenGL, we will examine a simple library I wrote to teach myself about the subject. Includes demo of the graphics library/app.

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

Speakers
avatar for Chris Ryan

Chris Ryan

Speaker Liaison, CppCon
Chris Ryan was classically trained in both software and hardware engineering. He is well experienced in Modern C++ on extremely large/complex problem spaces and Classic ‘C’ on Embedded/Firmware devices (large & small). Chris has no interest in C#/.,Net, Java, js or any web-ish... Read More →


Thursday October 28, 2021 12:30pm - 1:30pm MDT
Online D
 
Friday, October 29
 

12:00pm MDT

Up to Code
Delayed broadcast

This session is part of the Software Design Track.

Many engineering disciplines require alterations or improvements of existing systems to be "up to code," whether that be the installation of railings on a staircase or upgrades to electrical work. In this talk, we'll apply this concept to Software Engineering and, in particular, C++-based systems. Using one real-world example, we'll cover best practices including: contracts, type-driven architecture, hierarchical design, and difficult testing scenarios as they apply to "old work."

While many of these topics are covered elsewhere, they are usually presented as if all code is being written from scratch. Application to an existing system is an entirely different matter. That is the subject of this talk.

ALL TALK SESSIONS CAN BE ACCESSED FROM THE MAIN LOBBY: https://cppcon.digital-medium.co.uk/

Speakers
avatar for David Sankel

David Sankel

Principal Architect, Adobe
David Sankel is a Principal Scientist at Adobe and an active member of the C++ Standardization Committee. His experience spans microservice architectures, CAD/CAM, computer graphics, visual programming languages, web applications, computer vision, and cryptography. He is a frequent... Read More →


Friday October 29, 2021 12:00pm - 1:00pm MDT
Online D
 
  • Timezone
  • Filter By Date CppCon 2021 Oct 24 -29, 2021
  • Filter By Venue online
  • Filter By Type
  • • Algorithms/Functional
  • • Async/Concurrency/Parallelism
  • • C++20/Future of C++
  • • Code Design
  • • const/Units/Time
  • • Education/Coaching
  • • Embedded
  • • GPU/Graphics
  • • Modules/Libraries
  • • Real-time/Data Science
  • • Software Design
  • • Templates/Concepts
  • • Testing/Error Handling
  • • Tooling/Debugging
  • • Type Design
  • Business
  • Social
  • Access


Filter sessions
Apply filters to sessions.