aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/value.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/libexpr/value.hh')
-rw-r--r--src/libexpr/value.hh16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/libexpr/value.hh b/src/libexpr/value.hh
index dc875615c..c46dd4b73 100644
--- a/src/libexpr/value.hh
+++ b/src/libexpr/value.hh
@@ -55,7 +55,7 @@ struct Env;
struct Expr;
struct ExprLambda;
struct PrimOp;
-class Symbol;
+class SymbolIdx;
class PosIdx;
struct Pos;
class StorePath;
@@ -121,11 +121,11 @@ private:
friend std::string showType(const Value & v);
- void print(std::ostream & str, std::set<const void *> * seen) const;
+ void print(const SymbolTable & symbols, std::ostream & str, std::set<const void *> * seen) const;
public:
- void print(std::ostream & str, bool showRepeated = false) const;
+ void print(const SymbolTable & symbols, std::ostream & str, bool showRepeated = false) const;
// Functions needed to distinguish the type
// These should be removed eventually, by putting the functionality that's
@@ -253,7 +253,7 @@ public:
inline void mkString(const Symbol & s)
{
- mkString(((const std::string &) s).c_str());
+ mkString(std::string_view(s).data());
}
inline void mkPath(const char * s)
@@ -410,12 +410,12 @@ public:
#if HAVE_BOEHMGC
typedef std::vector<Value *, traceable_allocator<Value *> > ValueVector;
-typedef std::map<Symbol, Value *, std::less<Symbol>, traceable_allocator<std::pair<const Symbol, Value *> > > ValueMap;
-typedef std::map<Symbol, ValueVector, std::less<Symbol>, traceable_allocator<std::pair<const Symbol, ValueVector> > > ValueVectorMap;
+typedef std::map<SymbolIdx, Value *, std::less<SymbolIdx>, traceable_allocator<std::pair<const SymbolIdx, Value *> > > ValueMap;
+typedef std::map<SymbolIdx, ValueVector, std::less<SymbolIdx>, traceable_allocator<std::pair<const SymbolIdx, ValueVector> > > ValueVectorMap;
#else
typedef std::vector<Value *> ValueVector;
-typedef std::map<Symbol, Value *> ValueMap;
-typedef std::map<Symbol, ValueVector> ValueVectorMap;
+typedef std::map<SymbolIdx, Value *> ValueMap;
+typedef std::map<SymbolIdx, ValueVector> ValueVectorMap;
#endif