about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/symbol-table.hh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libexpr/symbol-table.hh')
-rw-r--r--third_party/nix/src/libexpr/symbol-table.hh111
1 files changed, 42 insertions, 69 deletions
diff --git a/third_party/nix/src/libexpr/symbol-table.hh b/third_party/nix/src/libexpr/symbol-table.hh
index 91faea122ce1..932bff5b46fb 100644
--- a/third_party/nix/src/libexpr/symbol-table.hh
+++ b/third_party/nix/src/libexpr/symbol-table.hh
@@ -2,7 +2,6 @@
 
 #include <map>
 #include <unordered_set>
-
 #include "types.hh"
 
 namespace nix {
@@ -13,75 +12,49 @@ namespace nix {
    they can be compared efficiently (using a pointer equality test),
    because the symbol table stores only one copy of each string. */
 
-class Symbol
-{
-private:
-    const string * s; // pointer into SymbolTable
-    Symbol(const string * s) : s(s) { };
-    friend class SymbolTable;
-
-public:
-    Symbol() : s(0) { };
-
-    bool operator == (const Symbol & s2) const
-    {
-        return s == s2.s;
-    }
-
-    bool operator != (const Symbol & s2) const
-    {
-        return s != s2.s;
-    }
-
-    bool operator < (const Symbol & s2) const
-    {
-        return s < s2.s;
-    }
-
-    operator const string & () const
-    {
-        return *s;
-    }
-
-    bool set() const
-    {
-        return s;
-    }
-
-    bool empty() const
-    {
-        return s->empty();
-    }
-
-    friend std::ostream & operator << (std::ostream & str, const Symbol & sym);
+class Symbol {
+ private:
+  const string* s;  // pointer into SymbolTable
+  Symbol(const string* s) : s(s){};
+  friend class SymbolTable;
+
+ public:
+  Symbol() : s(0){};
+
+  bool operator==(const Symbol& s2) const { return s == s2.s; }
+
+  bool operator!=(const Symbol& s2) const { return s != s2.s; }
+
+  bool operator<(const Symbol& s2) const { return s < s2.s; }
+
+  operator const string&() const { return *s; }
+
+  bool set() const { return s; }
+
+  bool empty() const { return s->empty(); }
+
+  friend std::ostream& operator<<(std::ostream& str, const Symbol& sym);
 };
 
-class SymbolTable
-{
-private:
-    typedef std::unordered_set<string> Symbols;
-    Symbols symbols;
-
-public:
-    Symbol create(const string & s)
-    {
-        std::pair<Symbols::iterator, bool> res = symbols.insert(s);
-        return Symbol(&*res.first);
-    }
-
-    size_t size() const
-    {
-        return symbols.size();
-    }
-
-    size_t totalSize() const;
-
-    template<typename T>
-    void dump(T callback)
-    {
-        for (auto & s : symbols)
-            callback(s);
-    }
+class SymbolTable {
+ private:
+  typedef std::unordered_set<string> Symbols;
+  Symbols symbols;
+
+ public:
+  Symbol create(const string& s) {
+    std::pair<Symbols::iterator, bool> res = symbols.insert(s);
+    return Symbol(&*res.first);
+  }
+
+  size_t size() const { return symbols.size(); }
+
+  size_t totalSize() const;
+
+  template <typename T>
+  void dump(T callback) {
+    for (auto& s : symbols) callback(s);
+  }
 };
 
-}
+}  // namespace nix