Static Value-Flow Analysis
Public Member Functions | Private Attributes | List of all members
SVF::CxtDPItem Class Reference

#include <DPItem.h>

Inheritance diagram for SVF::CxtDPItem:
SVF::DPItem

Public Member Functions

 CxtDPItem (NodeID c, const ContextCond &cxt)
 Constructor. More...
 
 CxtDPItem (const CxtVar &var)
 
 CxtDPItem (const CxtDPItem &dps)
 Copy constructor. More...
 
 CxtDPItem (CxtDPItem &&dps) noexcept
 Move constructor. More...
 
CxtDPItemoperator= (CxtDPItem &&dps) noexcept
 Move operator=. More...
 
virtual ~CxtDPItem ()
 Destructor. More...
 
const ContextCondgetContexts () const
 Get context. More...
 
void pushContext (NodeID cxt)
 Push context. More...
 
virtual bool matchContext (NodeID cxt)
 Match context. More...
 
bool operator< (const CxtDPItem &rhs) const
 
CxtDPItemoperator= (const CxtDPItem &rhs)
 Overloading Operator=. More...
 
bool operator== (const CxtDPItem &rhs) const
 Overloading Operator==. More...
 
bool operator!= (const CxtDPItem &rhs) const
 Overloading Operator!=. More...
 
- Public Member Functions inherited from SVF::DPItem
 DPItem (NodeID c)
 Constructor. More...
 
 DPItem (const DPItem &dps)
 Copy constructor. More...
 
 DPItem (DPItem &&dps) noexcept
 Move constructor. More...
 
DPItemoperator= (DPItem &&rhs) noexcept
 Move operator=. More...
 
virtual ~DPItem ()
 Destructor. More...
 
NodeID getCurNodeID () const
 
void setCurNodeID (NodeID c)
 
bool operator< (const DPItem &rhs) const
 
DPItemoperator= (const DPItem &rhs)
 Overloading Operator=. More...
 
bool operator== (const DPItem &rhs) const
 Overloading Operator==. More...
 
bool operator!= (const DPItem &rhs) const
 Overloading Operator!=. More...
 
void dump () const
 

Private Attributes

ContextCond context
 

Additional Inherited Members

- Static Public Member Functions inherited from SVF::DPItem
static void setMaxBudget (u32_t max)
 set max step budge per query More...
 
static u32_t getMaxBudget ()
 
- Protected Attributes inherited from SVF::DPItem
NodeID cur
 
- Static Protected Attributes inherited from SVF::DPItem
static u64_t maximumBudget = ULONG_MAX - 1
 

Detailed Description

Definition at line 477 of file DPItem.h.

Constructor & Destructor Documentation

◆ CxtDPItem() [1/4]

SVF::CxtDPItem::CxtDPItem ( NodeID  c,
const ContextCond cxt 
)
inline

Constructor.

Definition at line 484 of file DPItem.h.

484  : DPItem(c),context(cxt)
485  {
486  }
ContextCond context
Definition: DPItem.h:480
DPItem(NodeID c)
Constructor.
Definition: DPItem.h:52

◆ CxtDPItem() [2/4]

SVF::CxtDPItem::CxtDPItem ( const CxtVar var)
inline

Definition at line 487 of file DPItem.h.

487  : DPItem(var.get_id()),context(var.get_cond())
488  {
489  }

◆ CxtDPItem() [3/4]

SVF::CxtDPItem::CxtDPItem ( const CxtDPItem dps)
inline

Copy constructor.

Definition at line 491 of file DPItem.h.

491  :
492  DPItem(dps.getCurNodeID()), context(dps.context)
493  {
494  }

◆ CxtDPItem() [4/4]

SVF::CxtDPItem::CxtDPItem ( CxtDPItem &&  dps)
inlinenoexcept

Move constructor.

Definition at line 496 of file DPItem.h.

496  : DPItem(dps), context(std::move(dps.context))
497  {
498  }
constexpr std::remove_reference< T >::type && move(T &&t) noexcept
Definition: SVFUtil.h:447

◆ ~CxtDPItem()

virtual SVF::CxtDPItem::~CxtDPItem ( )
inlinevirtual

Destructor.

Definition at line 510 of file DPItem.h.

511  {
512  }

Member Function Documentation

◆ getContexts()

const ContextCond& SVF::CxtDPItem::getContexts ( ) const
inline

Get context.

Definition at line 515 of file DPItem.h.

516  {
517  return context;
518  }

◆ matchContext()

virtual bool SVF::CxtDPItem::matchContext ( NodeID  cxt)
inlinevirtual

Match context.

Definition at line 526 of file DPItem.h.

527  {
528  return context.matchContext(cxt);
529  }
virtual bool matchContext(NodeID ctx)
Match context.
Definition: DPItem.h:303

◆ operator!=()

bool SVF::CxtDPItem::operator!= ( const CxtDPItem rhs) const
inline

Overloading Operator!=.

Definition at line 556 of file DPItem.h.

557  {
558  return !(*this == rhs);
559  }

◆ operator<()

bool SVF::CxtDPItem::operator< ( const CxtDPItem rhs) const
inline

Enable compare operator to avoid duplicated item insertion in map or set to be noted that two vectors can also overload operator()

Definition at line 533 of file DPItem.h.

534  {
535  if (cur != rhs.cur)
536  return cur < rhs.cur;
537  else
538  return context < rhs.context;
539  }
CallStrCxt context
Definition: DPItem.h:373
NodeID cur
Definition: DPItem.h:47

◆ operator=() [1/2]

CxtDPItem& SVF::CxtDPItem::operator= ( const CxtDPItem rhs)
inline

Overloading Operator=.

Definition at line 541 of file DPItem.h.

542  {
543  if(*this!=rhs)
544  {
545  cur = rhs.cur;
546  context = rhs.context;
547  }
548  return *this;
549  }

◆ operator=() [2/2]

CxtDPItem& SVF::CxtDPItem::operator= ( CxtDPItem &&  dps)
inlinenoexcept

Move operator=.

Definition at line 500 of file DPItem.h.

501  {
502  if (this != &dps)
503  {
504  DPItem::operator=(dps);
505  context = std::move(dps.context);
506  }
507  return *this;
508  }
DPItem & operator=(DPItem &&rhs) noexcept
Move operator=.
Definition: DPItem.h:65

◆ operator==()

bool SVF::CxtDPItem::operator== ( const CxtDPItem rhs) const
inline

Overloading Operator==.

Definition at line 551 of file DPItem.h.

552  {
553  return (cur == rhs.cur) && (context == rhs.context);
554  }

◆ pushContext()

void SVF::CxtDPItem::pushContext ( NodeID  cxt)
inline

Push context.

Definition at line 520 of file DPItem.h.

521  {
522  context.pushContext(cxt);
523  }
virtual bool pushContext(NodeID ctx)
Push context.
Definition: DPItem.h:279

Member Data Documentation

◆ context

ContextCond SVF::CxtDPItem::context
private

Definition at line 480 of file DPItem.h.


The documentation for this class was generated from the following file: