diff options
author | David Kalnischkies <david@kalnischkies.de> | 2015-06-17 09:29:00 +0200 |
---|---|---|
committer | David Kalnischkies <david@kalnischkies.de> | 2015-08-10 17:25:25 +0200 |
commit | 6c55f07a5fa3612a5d59c61a17da5fe640eadc8b (patch) | |
tree | e63587b9caf9781cb4606e0a95b4f19d7b727f92 /apt-pkg/cacheset.h | |
parent | e8afd16892e87a6e2f17c1019ee455f5583387c2 (diff) |
make all d-pointer * const pointers
Doing this disables the implicit copy assignment operator (among others)
which would cause hovac if used on the classes as it would just copy the
pointer, not the data the d-pointer points to. For most of the classes
we don't need a copy assignment operator anyway and in many classes it
was broken before as many contain a pointer of some sort.
Only for our Cacheset Container interfaces we define an explicit copy
assignment operator which could later be implemented to copy the data
from one d-pointer to the other if we need it.
Git-Dch: Ignore
Diffstat (limited to 'apt-pkg/cacheset.h')
-rw-r--r-- | apt-pkg/cacheset.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/apt-pkg/cacheset.h b/apt-pkg/cacheset.h index 7fd740335..4fe1eba87 100644 --- a/apt-pkg/cacheset.h +++ b/apt-pkg/cacheset.h @@ -203,7 +203,7 @@ protected: bool PackageFromPackageName(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern); bool PackageFromString(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string const &pattern); private: - void *d; + void * const d; }; /*}}}*/ class PackageContainerInterface { /*{{{*/ @@ -266,6 +266,7 @@ APT_IGNORE_DEPRECATED_POP CacheSetHelper::PkgSelector getConstructor() const { return ConstructedBy; } PackageContainerInterface(); explicit PackageContainerInterface(CacheSetHelper::PkgSelector const by); + PackageContainerInterface& operator=(PackageContainerInterface const &other); virtual ~PackageContainerInterface(); APT_DEPRECATED static bool FromTask(PackageContainerInterface * const pci, pkgCacheFile &Cache, std::string pattern, CacheSetHelper &helper) { @@ -294,7 +295,7 @@ APT_IGNORE_DEPRECATED_POP private: CacheSetHelper::PkgSelector ConstructedBy; - void *d; + void * const d; }; /*}}}*/ template<class Container> class PackageContainer : public PackageContainerInterface {/*{{{*/ @@ -555,7 +556,7 @@ template<> template<class Compare> inline bool PackageContainer<std::vector<pkgC private methods. */ class APT_HIDDEN PackageUniverse : public PackageContainerInterface { pkgCache * const _cont; - void *d; + void * const d; public: typedef pkgCache::PkgIterator iterator; typedef pkgCache::PkgIterator const_iterator; @@ -707,9 +708,10 @@ APT_IGNORE_DEPRECATED_PUSH APT_IGNORE_DEPRECATED_POP VersionContainerInterface(); + VersionContainerInterface& operator=(VersionContainerInterface const &other); virtual ~VersionContainerInterface(); private: - void *d; + void * const d; protected: /*{{{*/ |