diff options
Diffstat (limited to 'src/context.hh')
| -rw-r--r-- | src/context.hh | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/context.hh b/src/context.hh index 5972740..91fbf91 100644 --- a/src/context.hh +++ b/src/context.hh @@ -1,13 +1,20 @@ #ifndef CONTEXT_HH_ #define CONTEXT_HH_ -// The purpose of this class is to provide a base class for Context classes. - namespace low_latency { +// A context class doesn't do much by itself. We just use it to provide a +// virtual destructor so we can store a bunch of shared_ptrs in the same +// container and rely on RTTI in the layer context. It also deletes the copy and +// move constructors for derived classes implicitly, and that's pretty much it. +// +// We _could_ do something weird and complicated where we define virtual pure +// hashing and equality functions so we can store them in an unordered_set, but +// it's just unnecessary complexity and doesn't allow us to perform 'do you exist' +// lookups without creating an object. class Context { - -public: + + public: Context(); Context(const Context& context) = delete; Context(Context&& context) = delete; |
