klee
klee::ref< T > Class Template Reference

#include <Ref.h>

Inheritance diagram for klee::ref< T >:

Public Member Functions

 ref ()
 
 ~ref ()
 
 ref (T *p)
 
 ref (const ref< T > &r)
 
template<class U >
 ref (const ref< U > &r)
 
 ref (ref< T > &&r) noexcept
 
template<class U >
 ref (ref< U > &&r) noexcept
 
T * get () const
 
ref< T > & operator= (const ref< T > &r)
 
template<class U >
ref< T > & operator= (const ref< U > &r)
 
ref< T > & operator= (ref< T > &&r) noexcept
 
template<class U >
ref< T > & operator= (ref< U > &&r) noexcept
 
T & operator* () const
 
T * operator-> () const
 
bool isNull () const
 
 operator bool () const noexcept
 
int compare (const ref &rhs) const
 
bool operator< (const ref &rhs) const
 
bool operator== (const ref &rhs) const
 
bool operator!= (const ref &rhs) const
 

Private Member Functions

void inc () const
 
void dec () const
 

Private Attributes

T * ptr
 

Friends

template<class U >
class ref
 

Detailed Description

template<class T>
class klee::ref< T >

Definition at line 82 of file Ref.h.

Constructor & Destructor Documentation

◆ ref() [1/6]

template<class T >
klee::ref< T >::ref ( )
inline

Definition at line 87 of file Ref.h.

◆ ~ref()

template<class T >
klee::ref< T >::~ref ( )
inline

Definition at line 88 of file Ref.h.

References klee::ref< T >::dec().

Here is the call graph for this function:

◆ ref() [2/6]

template<class T >
klee::ref< T >::ref ( T *  p)
inline

Definition at line 105 of file Ref.h.

References klee::ref< T >::inc().

Here is the call graph for this function:

◆ ref() [3/6]

template<class T >
klee::ref< T >::ref ( const ref< T > &  r)
inline

Definition at line 110 of file Ref.h.

References klee::ref< T >::inc().

Here is the call graph for this function:

◆ ref() [4/6]

template<class T >
template<class U >
klee::ref< T >::ref ( const ref< U > &  r)
inline

Definition at line 116 of file Ref.h.

References klee::ref< T >::inc().

Here is the call graph for this function:

◆ ref() [5/6]

template<class T >
klee::ref< T >::ref ( ref< T > &&  r)
inlinenoexcept

Definition at line 121 of file Ref.h.

◆ ref() [6/6]

template<class T >
template<class U >
klee::ref< T >::ref ( ref< U > &&  r)
inlinenoexcept

Definition at line 124 of file Ref.h.

Member Function Documentation

◆ compare()

template<class T >
int klee::ref< T >::compare ( const ref< T > &  rhs) const
inline

Definition at line 217 of file Ref.h.

References klee::ref< T >::get(), and klee::ref< T >::isNull().

Referenced by CachingSolver::canonicalizeQuery(), klee::UpdateNode::compare(), klee::ref< T >::operator!=(), klee::ref< T >::operator<(), and klee::ref< T >::operator==().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ dec()

template<class T >
void klee::ref< T >::dec ( ) const
inlineprivate

Definition at line 96 of file Ref.h.

References klee::ref< T >::ptr.

Referenced by klee::ref< T >::operator=(), and klee::ref< T >::~ref().

Here is the caller graph for this function:

◆ get()

◆ inc()

template<class T >
void klee::ref< T >::inc ( ) const
inlineprivate

Definition at line 91 of file Ref.h.

References klee::ref< T >::ptr.

Referenced by klee::ref< T >::operator=(), and klee::ref< T >::ref().

Here is the caller graph for this function:

◆ isNull()

template<class T >
bool klee::ref< T >::isNull ( ) const
inline

Definition at line 213 of file Ref.h.

References klee::ref< T >::ptr.

Referenced by klee::ref< T >::compare(), and klee::ref< T >::operator bool().

Here is the caller graph for this function:

◆ operator bool()

template<class T >
klee::ref< T >::operator bool ( ) const
inlineexplicitnoexcept

Definition at line 214 of file Ref.h.

References klee::ref< T >::isNull().

Here is the call graph for this function:

◆ operator!=()

template<class T >
bool klee::ref< T >::operator!= ( const ref< T > &  rhs) const
inline

Definition at line 225 of file Ref.h.

References klee::ref< T >::compare().

Here is the call graph for this function:

◆ operator*()

template<class T >
T & klee::ref< T >::operator* ( ) const
inline

Definition at line 205 of file Ref.h.

References klee::ref< T >::ptr.

◆ operator->()

template<class T >
T * klee::ref< T >::operator-> ( ) const
inline

Definition at line 209 of file Ref.h.

References klee::ref< T >::ptr.

◆ operator<()

template<class T >
bool klee::ref< T >::operator< ( const ref< T > &  rhs) const
inline

Definition at line 223 of file Ref.h.

References klee::ref< T >::compare().

Here is the call graph for this function:

◆ operator=() [1/4]

template<class T >
ref< T > & klee::ref< T >::operator= ( const ref< T > &  r)
inline

Definition at line 135 of file Ref.h.

References klee::ref< T >::dec(), klee::ref< T >::inc(), and klee::ref< T >::ptr.

Here is the call graph for this function:

◆ operator=() [2/4]

template<class T >
template<class U >
ref< T > & klee::ref< T >::operator= ( const ref< U > &  r)
inline

Definition at line 155 of file Ref.h.

References klee::ref< T >::dec(), klee::ref< T >::inc(), and klee::ref< T >::ptr.

Here is the call graph for this function:

◆ operator=() [3/4]

template<class T >
ref< T > & klee::ref< T >::operator= ( ref< T > &&  r)
inlinenoexcept

Definition at line 177 of file Ref.h.

References klee::ref< T >::dec(), and klee::ref< T >::ptr.

Here is the call graph for this function:

◆ operator=() [4/4]

template<class T >
template<class U >
ref< T > & klee::ref< T >::operator= ( ref< U > &&  r)
inlinenoexcept

Definition at line 187 of file Ref.h.

References klee::ref< T >::dec(), and klee::ref< T >::ptr.

Here is the call graph for this function:

◆ operator==()

template<class T >
bool klee::ref< T >::operator== ( const ref< T > &  rhs) const
inline

Definition at line 224 of file Ref.h.

References klee::ref< T >::compare().

Here is the call graph for this function:

Friends And Related Function Documentation

◆ ref

template<class T >
template<class U >
friend class ref
friend

Definition at line 102 of file Ref.h.

Member Data Documentation

◆ ptr


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