return GRStateTrait<T>::Lookup(GRStateTrait<T>::MakeData(d), key);
}
+ template<typename T>
+ bool contains(typename GRStateTrait<T>::key_type key) const {
+ void* const* d = FindGDM(GRStateTrait<T>::GDMIndex());
+ return GRStateTrait<T>::Contains(GRStateTrait<T>::MakeData(d), key);
+ }
+
// State pretty-printing.
class Printer {
public:
template <typename T>
typename GRStateTrait<T>::context_type get_context() {
return Mgr->get_context<T>();
- }
+ }
template<typename T>
GRStateRef set(typename GRStateTrait<T>::key_type K,
return GRStateRef(Mgr->remove<T>(St, K, get_context<T>()), *Mgr);
}
+ template<typename T>
+ bool contains(typename GRStateTrait<T>::key_type key) const {
+ return St->contains(key);
+ }
+
// Lvalue methods.
SVal GetLValue(const VarDecl* VD) {
return Mgr->GetLValue(St, VD);