Browse Source

Use QValueVector instead of QValueList for SourceFunctions array (more efficient random access).

git-svn-id: file:///var/svn/tigccpp/trunk@701 9552661e-59e3-4036-b4f2-dbe53926924f
kevinkofler 18 years ago
parent
commit
8bdd01f5b3
1 changed files with 9 additions and 2 deletions
  1. 9 2
      ktigcc/parsing.h

+ 9 - 2
ktigcc/parsing.h

@@ -21,7 +21,7 @@
 #pragma once
 
 #include <qstring.h>
-#include <qvaluelist.h>
+#include <qvaluevector.h>
 struct SourceFileFunction {
   SourceFileFunction() : name(), prototypeLine(-1), implementationLine(-1) {}
   SourceFileFunction(const QString &n) :
@@ -30,11 +30,18 @@ struct SourceFileFunction {
     name(n), prototypeLine(p), implementationLine(i) {}
   bool operator==(const SourceFileFunction &other) const
     {return name==other.name;}
+  bool operator!=(const SourceFileFunction &other) const
+    {return name!=other.name;}
   QString name;
   int prototypeLine;
   int implementationLine;
 };
-typedef QValueList<SourceFileFunction> SourceFileFunctions;
+class SourceFileFunctions : public QValueVector<SourceFileFunction> {
+  public:
+    iterator find(const SourceFileFunction &item) {
+      return qFind(begin(),end(),item);
+    }
+};
 SourceFileFunctions getCFunctions(const QString &text);
 SourceFileFunctions getASMFunctions(const QString &text);
 #define getFunctions(text,isasm) (((isasm)?getASMFunctions:getCFunctions)((text)))