Static Value-Flow Analysis
Classes | Namespaces | Macros | Functions
Casting.h File Reference
#include <cassert>
#include <memory>
#include <type_traits>

Go to the source code of this file.

Classes

struct  SVF::SVFUtil::add_const_past_pointer< T, Enable >
 
struct  SVF::SVFUtil::add_const_past_pointer< T, std::enable_if_t< std::is_pointer< T >::value > >
 
struct  SVF::SVFUtil::add_lvalue_reference_if_not_pointer< T, Enable >
 If T is a pointer, just return it. If it is not, return T&. More...
 
struct  SVF::SVFUtil::add_lvalue_reference_if_not_pointer< T, std::enable_if_t< std::is_pointer< T >::value > >
 
struct  SVF::SVFUtil::simplify_type< From >
 
struct  SVF::SVFUtil::simplify_type< const From >
 
struct  SVF::SVFUtil::isa_impl< To, From, Enabler >
 
struct  SVF::SVFUtil::isa_impl< To, From, std::enable_if_t< std::is_base_of< To, From >::value > >
 Always allow upcasts, and perform no dynamic check for them. More...
 
struct  SVF::SVFUtil::isa_impl_cl< To, From >
 
struct  SVF::SVFUtil::isa_impl_cl< To, const From >
 
struct  SVF::SVFUtil::isa_impl_cl< To, const std::unique_ptr< From > >
 
struct  SVF::SVFUtil::isa_impl_cl< To, From * >
 
struct  SVF::SVFUtil::isa_impl_cl< To, From *const >
 
struct  SVF::SVFUtil::isa_impl_cl< To, const From * >
 
struct  SVF::SVFUtil::isa_impl_cl< To, const From *const >
 
struct  SVF::SVFUtil::isa_impl_wrap< To, From, SimpleFrom >
 
struct  SVF::SVFUtil::isa_impl_wrap< To, FromTy, FromTy >
 
struct  SVF::SVFUtil::cast_retty_impl< To, From >
 
struct  SVF::SVFUtil::cast_retty_impl< To, const From >
 
struct  SVF::SVFUtil::cast_retty_impl< To, From * >
 
struct  SVF::SVFUtil::cast_retty_impl< To, const From * >
 
struct  SVF::SVFUtil::cast_retty_impl< To, const From *const >
 
struct  SVF::SVFUtil::cast_retty_impl< To, std::unique_ptr< From > >
 
struct  SVF::SVFUtil::cast_retty_wrap< To, From, SimpleFrom >
 
struct  SVF::SVFUtil::cast_retty_wrap< To, FromTy, FromTy >
 
struct  SVF::SVFUtil::cast_retty< To, From >
 
struct  SVF::SVFUtil::cast_convert_val< To, From, SimpleFrom >
 
struct  SVF::SVFUtil::cast_convert_val< To, FromTy, FromTy >
 
struct  SVF::SVFUtil::is_simple_type< X >
 

Namespaces

 SVF
 for isBitcode
 
 SVF::SVFUtil
 

Macros

#define LLVM_HAS_CPP_ATTRIBUTE(x)   0
 
#define LLVM_NODISCARD
 LLVM_NODISCARD - Warn if a type or return value is discarded. More...
 

Functions

template<class X , class Y >
LLVM_NODISCARD bool SVF::SVFUtil::isa (const Y &Val)
 
template<typename First , typename Second , typename... Rest, typename Y >
LLVM_NODISCARD bool SVF::SVFUtil::isa (const Y &Val)
 
template<class X , class Y >
std::enable_if_t<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type > SVF::SVFUtil::cast (const Y &Val)
 
template<class X , class Y >
cast_retty< X, Y >::ret_type SVF::SVFUtil::cast (Y &Val)
 
template<class X , class Y >
cast_retty< X, Y * >::ret_type SVF::SVFUtil::cast (Y *Val)
 
template<class X , class Y >
cast_retty< X, std::unique_ptr< Y > >::ret_type SVF::SVFUtil::cast (std::unique_ptr< Y > &&Val)
 
template<class X , class Y >
LLVM_NODISCARD std::enable_if_t<!is_simple_type< Y >::value, typename cast_retty< X, const Y >::ret_type > SVF::SVFUtil::dyn_cast (const Y &Val)
 
template<class X , class Y >
LLVM_NODISCARD cast_retty< X, Y >::ret_type SVF::SVFUtil::dyn_cast (Y &Val)
 
template<class X , class Y >
LLVM_NODISCARD cast_retty< X, Y * >::ret_type SVF::SVFUtil::dyn_cast (Y *Val)
 

Macro Definition Documentation

◆ LLVM_HAS_CPP_ATTRIBUTE

#define LLVM_HAS_CPP_ATTRIBUTE (   x)    0

Definition at line 38 of file Casting.h.

◆ LLVM_NODISCARD

#define LLVM_NODISCARD

LLVM_NODISCARD - Warn if a type or return value is discarded.

Definition at line 56 of file Casting.h.