clang 20.0.0git
|
Wrapper around boolean types. More...
#include "/home/buildbot/as-worker-4/publish-doxygen-docs/llvm-project/clang/lib/AST/ByteCode/Boolean.h"
Public Member Functions | |
Boolean () | |
Zero-initializes a boolean. | |
Boolean (const llvm::APSInt &I) | |
Boolean (bool V) | |
bool | operator< (Boolean RHS) const |
bool | operator> (Boolean RHS) const |
bool | operator<= (Boolean RHS) const |
bool | operator>= (Boolean RHS) const |
bool | operator== (Boolean RHS) const |
bool | operator!= (Boolean RHS) const |
bool | operator> (unsigned RHS) const |
Boolean | operator- () const |
Boolean | operator- (const Boolean &Other) const |
Boolean | operator~ () const |
Boolean | operator! () const |
template<typename Ty , typename = std::enable_if_t<std::is_integral_v<Ty>>> | |
operator Ty () const | |
APSInt | toAPSInt () const |
APSInt | toAPSInt (unsigned NumBits) const |
APValue | toAPValue (const ASTContext &) const |
Boolean | toUnsigned () const |
bool | isZero () const |
bool | isMin () const |
ComparisonCategoryResult | compare (const Boolean &RHS) const |
unsigned | countLeadingZeros () const |
Boolean | truncate (unsigned TruncBits) const |
void | bitcastToMemory (std::byte *Buff) |
void | print (llvm::raw_ostream &OS) const |
std::string | toDiagnosticString (const ASTContext &Ctx) const |
Static Public Member Functions | |
static constexpr unsigned | bitWidth () |
static constexpr bool | isMinusOne () |
static constexpr bool | isSigned () |
static constexpr bool | isNegative () |
static constexpr bool | isPositive () |
static Boolean | bitcastFromMemory (const std::byte *Buff, unsigned BitWidth) |
static Boolean | min (unsigned NumBits) |
static Boolean | max (unsigned NumBits) |
template<typename T > | |
static Boolean | from (T Value) |
template<unsigned SrcBits, bool SrcSign> | |
static std::enable_if_t< SrcBits !=0, Boolean > | from (Integral< SrcBits, SrcSign > Value) |
static Boolean | zero () |
template<typename T > | |
static Boolean | from (T Value, unsigned NumBits) |
static bool | inRange (int64_t Value, unsigned NumBits) |
static bool | increment (Boolean A, Boolean *R) |
static bool | decrement (Boolean A, Boolean *R) |
static bool | add (Boolean A, Boolean B, unsigned OpBits, Boolean *R) |
static bool | sub (Boolean A, Boolean B, unsigned OpBits, Boolean *R) |
static bool | mul (Boolean A, Boolean B, unsigned OpBits, Boolean *R) |
static bool | inv (Boolean A, Boolean *R) |
static bool | neg (Boolean A, Boolean *R) |
|
inline |
Zero-initializes a boolean.
Definition at line 32 of file Boolean.h.
References V.
Referenced by add(), bitcastFromMemory(), from(), increment(), inv(), max(), min(), mul(), neg(), operator!(), operator-(), operator~(), and sub().
|
inline |
|
inlineexplicit |
|
inline |
|
inlinestaticconstexpr |
|
inline |
Definition at line 76 of file Boolean.h.
References clang::interp::Compare(), and V.
|
inline |
Definition at line 103 of file Boolean.h.
References Boolean().
Referenced by clang::interp::CmpHelperEQ< FunctionPointer >(), clang::interp::CmpHelperEQ< MemberPointer >(), clang::interp::interp__builtin_is_constant_evaluated(), clang::interp::IsConstantContext(), clang::interp::IsNonNull(), and zero().
|
inline |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
Definition at line 73 of file Boolean.h.
Referenced by isPositive().
|
inlinestaticconstexpr |
Definition at line 74 of file Boolean.h.
References isNegative().
|
inlinestaticconstexpr |
|
inline |
|
inlineexplicit |
|
inline |
|
inline |
|
inline |
Definition at line 46 of file Boolean.h.
References Boolean(), clang::Other, and V.
|
inline |
|
inline |
Definition at line 92 of file Boolean.h.
References V.
Referenced by clang::interp::operator<<(), and toDiagnosticString().
|
inline |
Definition at line 58 of file Boolean.h.
References toAPSInt().
|
inline |
Definition at line 61 of file Boolean.h.
References toAPSInt().
|
inline |
|
inline |
|
inlinestatic |