]> git.saurik.com Git - apt.git/commitdiff
pkgCacheGenerator: Use StringView for toString
authorJulian Andres Klode <jak@debian.org>
Thu, 7 Jan 2016 23:41:14 +0000 (00:41 +0100)
committerJulian Andres Klode <jak@debian.org>
Thu, 7 Jan 2016 23:41:14 +0000 (00:41 +0100)
This removes some minor overhead.

Gbp-Dch: ignore

apt-pkg/pkgcachegen.cc
apt-pkg/pkgcachegen.h

index db813165134d9bcb4f7605cde7e1ac5113c9d23b..654c5f279c654d8f1b68481e0d2c6bafd205b95a 100644 (file)
@@ -514,7 +514,7 @@ bool pkgCacheGenerator::NewGroup(pkgCache::GrpIterator &Grp, StringView Name)
       return false;
 
    Grp = pkgCache::GrpIterator(Cache, Cache.GrpP + Group);
-   map_stringitem_t const idxName = StoreString(PKGNAME, Name.to_string());
+   map_stringitem_t const idxName = StoreString(PKGNAME, Name);
    if (unlikely(idxName == 0))
       return false;
    Grp->Name = idxName;
@@ -555,7 +555,7 @@ bool pkgCacheGenerator::NewPackage(pkgCache::PkgIterator &Pkg, StringView Name,
    APT_IGNORE_DEPRECATED(Pkg->Name = Grp->Name;)
    Pkg->Group = Grp.Index();
    // all is mapped to the native architecture
-   map_stringitem_t const idxArch = (Arch == "all") ? Cache.HeaderP->Architecture : StoreString(MIXED, Arch.to_string());
+   map_stringitem_t const idxArch = (Arch == "all") ? Cache.HeaderP->Architecture : StoreString(MIXED, Arch);
    if (unlikely(idxArch == 0))
       return false;
    Pkg->Arch = idxArch;
@@ -1019,7 +1019,7 @@ bool pkgCacheListParser::NewDepends(pkgCache::VerIterator &Ver,
 
       if (idxVersion == 0)
       {
-        idxVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version.to_string());
+        idxVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version);
         if (unlikely(idxVersion == 0))
            return false;
       }
@@ -1088,7 +1088,7 @@ bool pkgCacheListParser::NewProvides(pkgCache::VerIterator &Ver,
 
    map_stringitem_t idxProvideVersion = 0;
    if (Version.empty() == false) {
-      idxProvideVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version.to_string());
+      idxProvideVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version);
       if (unlikely(idxProvideVersion == 0))
         return false;
    }
@@ -1133,7 +1133,7 @@ bool pkgCacheListParser::NewProvidesAllArch(pkgCache::VerIterator &Ver, StringVi
    {
       map_stringitem_t idxProvideVersion = 0;
       if (Version.empty() == false) {
-        idxProvideVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version.to_string());
+        idxProvideVersion = StoreString(pkgCacheGenerator::VERSIONNUMBER, Version);
         if (unlikely(idxProvideVersion == 0))
            return false;
       }
index 9455f0b7ac5947a42eafe673d2e9ce604d6a39ba..e4760d44d74f53b2d20edc50cb3e9591d5e691cf 100644 (file)
@@ -104,7 +104,10 @@ class APT_HIDDEN pkgCacheGenerator                                 /*{{{*/
 
    enum StringType { MIXED, PKGNAME, VERSIONNUMBER, SECTION };
    map_stringitem_t StoreString(StringType const type, const char * S, unsigned int const Size);
-   inline map_stringitem_t StoreString(enum StringType const type, const std::string &S) {return StoreString(type, S.c_str(),S.length());};
+
+#ifdef APT_PKG_EXPOSE_STRING_VIEW
+   inline map_stringitem_t StoreString(enum StringType const type, APT::StringView S) {return StoreString(type, S.data(),S.length());};
+#endif
 
    void DropProgress() {Progress = 0;};
    bool SelectFile(const std::string &File,pkgIndexFile const &Index, std::string const &Architecture, std::string const &Component, unsigned long Flags = 0);
@@ -156,8 +159,10 @@ class APT_HIDDEN pkgCacheListParser
 
    protected:
 
-   inline map_stringitem_t StoreString(pkgCacheGenerator::StringType const type, std::string const &S) {return Owner->StoreString(type, S);};
    inline map_stringitem_t StoreString(pkgCacheGenerator::StringType const type, const char *S,unsigned int Size) {return Owner->StoreString(type, S, Size);};
+#ifdef APT_PKG_EXPOSE_STRING_VIEW
+   inline map_stringitem_t StoreString(pkgCacheGenerator::StringType const type, APT::StringView S) {return Owner->StoreString(type, S);};
+#endif
 
    inline map_stringitem_t WriteString(const std::string &S) {return Owner->WriteStringInMap(S);};
    inline map_stringitem_t WriteString(const char *S,unsigned int Size) {return Owner->WriteStringInMap(S,Size);};