File indexing completed on 2026-05-10 08:43:20
0001
0002
0003
0004
0005
0006
0007
0008
0009 #ifndef LLVM_ASMPARSER_NUMBEREDVALUES_H
0010 #define LLVM_ASMPARSER_NUMBEREDVALUES_H
0011
0012 #include "llvm/ADT/DenseMap.h"
0013
0014 namespace llvm {
0015
0016
0017
0018 template <class T> class NumberedValues {
0019 DenseMap<unsigned, T> Vals;
0020 unsigned NextUnusedID = 0;
0021
0022 public:
0023 unsigned getNext() const { return NextUnusedID; }
0024 T get(unsigned ID) const { return Vals.lookup(ID); }
0025 void add(unsigned ID, T V) {
0026 assert(ID >= NextUnusedID && "Invalid value ID");
0027 Vals.insert({ID, V});
0028 NextUnusedID = ID + 1;
0029 }
0030 };
0031
0032 }
0033
0034 #endif