diff options
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h')
-rw-r--r-- | include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h b/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h index 958c8c377ea2..c5b4e5036bdf 100644 --- a/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h +++ b/include/clang/StaticAnalyzer/Core/PathSensitive/StoreRef.h @@ -1,4 +1,4 @@ -//== StoreRef.h - Smart pointer for store objects ---------------*- C++ -*--==// +//===- StoreRef.h - Smart pointer for store objects -------------*- C++ -*-===// // // The LLVM Compiler Infrastructure // @@ -19,33 +19,36 @@ namespace clang { namespace ento { +class StoreManager; + /// Store - This opaque type encapsulates an immutable mapping from /// locations to values. At a high-level, it represents the symbolic /// memory model. Different subclasses of StoreManager may choose /// different types to represent the locations and values. -typedef const void *Store; - -class StoreManager; +using Store = const void *; class StoreRef { Store store; StoreManager &mgr; + public: - StoreRef(Store, StoreManager &); - StoreRef(const StoreRef &); - StoreRef &operator=(StoreRef const &); + StoreRef(Store store, StoreManager &smgr); + StoreRef(const StoreRef &sr); + StoreRef &operator=(StoreRef const &newStore); + ~StoreRef(); bool operator==(const StoreRef &x) const { assert(&mgr == &x.mgr); return x.store == store; } + bool operator!=(const StoreRef &x) const { return !operator==(x); } - ~StoreRef(); - Store getStore() const { return store; } const StoreManager &getStoreManager() const { return mgr; } }; -}} -#endif +} // namespace ento +} // namespace clang + +#endif // LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_STOREREF_H |