diff options
author | Christian Kandeler <christian.kandeler@qt.io> | 2017-12-01 09:40:19 +0100 |
---|---|---|
committer | Christian Kandeler <christian.kandeler@qt.io> | 2017-12-06 11:49:41 +0000 |
commit | 2299a79c1ada2696807f40d54da958837ecffbba (patch) | |
tree | d50c1c0b200376f32637bf074aecf2fcc4538b4c /src/lib/corelib/buildgraph/buildgraphnode.h | |
parent | 3b41dd8d70897900bb8e988732bf37b94a165e0b (diff) |
Get rid of the PersistentObject class
Our serialization requirements are fully served by the template
mechanism; there is no need to put an inheritance-based approach on top
of it.
Now there is no more virtual inheritance, which allowed us to get rid of
one more dynamic_cast. According to our benchmarker, build graph loading
has become about 3% faster.
Change-Id: If2f5080f74a0ef972a575ac2798f9d94a7f3b519
Reviewed-by: Jake Petroules <jake.petroules@qt.io>
Diffstat (limited to 'src/lib/corelib/buildgraph/buildgraphnode.h')
-rw-r--r-- | src/lib/corelib/buildgraph/buildgraphnode.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/lib/corelib/buildgraph/buildgraphnode.h b/src/lib/corelib/buildgraph/buildgraphnode.h index a942c208c..ec2cddff4 100644 --- a/src/lib/corelib/buildgraph/buildgraphnode.h +++ b/src/lib/corelib/buildgraph/buildgraphnode.h @@ -42,7 +42,6 @@ #include "nodeset.h" #include <language/forward_decls.h> -#include <tools/persistentobject.h> #include <tools/weakpointer.h> namespace qbs { @@ -50,7 +49,7 @@ namespace Internal { class BuildGraphVisitor; -class BuildGraphNode : public virtual PersistentObject +class BuildGraphNode { friend NodeSet; public: @@ -83,11 +82,12 @@ public: bool isBuilt() const { return buildState == Built; } + virtual void load(PersistentPool &pool); + virtual void store(PersistentPool &pool) const; + protected: explicit BuildGraphNode(); void acceptChildren(BuildGraphVisitor *visitor); - void load(PersistentPool &pool); - void store(PersistentPool &pool) const; }; } // namespace Internal |