From 60d523e2ae93a6c5bc396b6bede2544271fb1f2e Mon Sep 17 00:00:00 2001 From: Julian Andres Klode Date: Fri, 8 Jan 2016 11:12:14 +0100 Subject: Store the size of strings in the cache By storing the size of the string in the cache, we can make use of it when comparing the names in the hashtable in pkgCache::FindGrp. --- apt-pkg/pkgcache.h | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'apt-pkg/pkgcache.h') diff --git a/apt-pkg/pkgcache.h b/apt-pkg/pkgcache.h index 9fea44e06..91228f713 100644 --- a/apt-pkg/pkgcache.h +++ b/apt-pkg/pkgcache.h @@ -245,6 +245,16 @@ class pkgCache /*{{{*/ APT_HIDDEN PkgIterator FindPkg(APT::StringView Name, APT::StringView Arch); #endif +#ifdef APT_PKG_EXPOSE_STRING_VIEW + APT::StringView ViewString(map_stringitem_t idx) const + { + char *name = StrP + idx; + uint16_t len = *reinterpret_cast(name - sizeof(uint16_t)); + return APT::StringView(name, len); + } +#endif + + GrpIterator FindGrp(const std::string &Name); PkgIterator FindPkg(const std::string &Name); PkgIterator FindPkg(const std::string &Name, const std::string &Arch); -- cgit v1.2.3