9#ifndef LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_APSIntPtr_H
10#define LLVM_CLANG_STATICANALYZER_CORE_PATHSENSITIVE_APSIntPtr_H
12#include "llvm/ADT/APSInt.h"
13#include "llvm/Support/Compiler.h"
20 using APSInt = llvm::APSInt;
35 LLVM_ATTRIBUTE_RETURNS_NONNULL
36 const APSInt *
get()
const {
return Ptr; }
37 operator const APSInt &()
const {
return *
get(); }
42#define DEFINE_OPERATOR(OP) \
43 bool operator OP(APSIntPtr Other) const { return (*Ptr)OP(*Other.Ptr); }
#define DEFINE_OPERATOR(OP)
A safe wrapper around APSInt objects allocated and owned by BasicValueFactory.
APSIntPtr & operator=(const APSIntPtr &) &=default
const APSInt * operator->() const
static APSIntPtr unsafeConstructor(const APSInt *Ptr)
You should not use this API.
const APSInt & operator*() const
APSIntPtr(const APSIntPtr &)=default
LLVM_ATTRIBUTE_RETURNS_NONNULL const APSInt * get() const