Regina 7.3 Calculation Engine
Friends | List of all members
regina::Snapshot< T > Class Template Reference

Keeps a snapshot of an object of type T as it was at a particular moment in time. More...

#include <utilities/snapshot.h>

Friends

class Snapshottable< T >
 
class SnapshotRef< T >
 

Detailed Description

template<class T>
class regina::Snapshot< T >

Keeps a snapshot of an object of type T as it was at a particular moment in time.

To describe how this class works, we need some terminology:

The life cycle of this process is as follows:

Regarding access to the image:

This snapshotting machinery is, in some ways, a slimmed-down variant of copy-on-write machinery, designed to be easily plugged into type T. The requirement on T are as follows:

Regarding multithreading:

This Snapshot class itself should remain forever behind the scenes: end users cannot access it and should not know about it. Images should always work through their base class Snapshottable<T>, and viewers shoudl always work through SnapshotRef<T>.

Python
Not present.

The documentation for this class was generated from the following file:

Copyright © 1999-2023, The Regina development team
This software is released under the GNU General Public License, with some additional permissions; see the source code for details.
For further information, or to submit a bug or other problem, please contact Ben Burton (bab@maths.uq.edu.au).