CodeSonar C++ API
[For improved navigation, enable JavaScript.]
Public Types | Public Member Functions | Related Functions | List of all members
cs::procedure_adjusted_callers_iterator Class Reference

An iterator over the direct and indirect call sites (point of kind point_kind::CALL_SITE or point_kind::INDIRECT_CALL) whose target is a particular procedure, taking into account any translations incurred by csonar_replace_*() calls and the FUNCTION_MAP configuration file variable. More...

Public Types

typedef const pointconst_pointer
 const pointer to the type of the iterator elements. More...
 
typedef const pointconst_reference
 const reference to the type of the iterator elements. More...
 
typedef cs_ssize_t difference_type
 Type of distance between iterators. More...
 
typedef std::forward_iterator_tag iterator_category
 Iterator is a ForwardIterator. More...
 
typedef pointpointer
 Pointer to the type of the iterator elements. More...
 
typedef pointreference
 Reference to the type of the iterator elements. More...
 

Public Member Functions

 procedure_adjusted_callers_iterator (const procedure_adjusted_callers_iterator &other)
 Copy constructor. More...
 
void advance ()
 Advance the iterator by one position. More...
 
std::string as_repr () const
 Get a representation of the iterator that includes information useful for debugging. More...
 
std::string as_string () const
 Get a simple string representation of the iterator. More...
 
bool at_end () const
 Check: is the iterator at the end of the structure? More...
 
bool operator!= (const procedure_adjusted_callers_iterator &other) const
 Iterator inequality. More...
 
point operator* () const
 Iterator dereference operator. More...
 
procedure_adjusted_callers_iteratoroperator++ ()
 Advance the iterator. More...
 
procedure_adjusted_callers_iteratoroperator= (procedure_adjusted_callers_iterator other)
 Iterator assignment operator. More...
 
bool operator== (const procedure_adjusted_callers_iterator &other) const
 Iterator equality. More...
 
void swap (procedure_adjusted_callers_iterator &other)
 Exchange the contents of this and other. More...
 

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &out, const procedure_adjusted_callers_iterator &a)
 Print a representation of an procedure_adjusted_callers_iterator object to the specified stream. More...
 

Detailed Description

An iterator over the direct and indirect call sites (point of kind point_kind::CALL_SITE or point_kind::INDIRECT_CALL) whose target is a particular procedure, taking into account any translations incurred by csonar_replace_*() calls and the FUNCTION_MAP configuration file variable.

Initialize with procedure::adjusted_callers().

Use as you would any other C++ iterator. For example:

// set up procedure proc, then...
for (cs::procedure_adjusted_callers_iterator it = proc.adjusted_callers(); !it.at_end(); ++it){
std::cout << "point: " << *it;
}

Member Typedef Documentation

◆ const_pointer

typedef const point* cs::procedure_adjusted_callers_iterator::const_pointer
inherited

const pointer to the type of the iterator elements.

◆ const_reference

typedef const point& cs::procedure_adjusted_callers_iterator::const_reference
inherited

const reference to the type of the iterator elements.

◆ difference_type

typedef cs_ssize_t cs::procedure_adjusted_callers_iterator::difference_type
inherited

Type of distance between iterators.

◆ iterator_category

typedef std::forward_iterator_tag cs::procedure_adjusted_callers_iterator::iterator_category
inherited

Iterator is a ForwardIterator.

◆ pointer

typedef point* cs::procedure_adjusted_callers_iterator::pointer
inherited

Pointer to the type of the iterator elements.

◆ reference

typedef point& cs::procedure_adjusted_callers_iterator::reference
inherited

Reference to the type of the iterator elements.

Constructor & Destructor Documentation

◆ procedure_adjusted_callers_iterator()

cs::procedure_adjusted_callers_iterator::procedure_adjusted_callers_iterator ( const procedure_adjusted_callers_iterator other)

Copy constructor.

Member Function Documentation

◆ advance()

void cs::procedure_adjusted_callers_iterator::advance ( )
inlineinherited

Advance the iterator by one position.

Exceptions
result::OUT_OF_ELEMENTS

◆ as_repr()

std::string cs::procedure_adjusted_callers_iterator::as_repr ( ) const
inlineinherited

Get a representation of the iterator that includes information useful for debugging.

Returns
The string representation.

◆ as_string()

std::string cs::procedure_adjusted_callers_iterator::as_string ( ) const
inlineinherited

Get a simple string representation of the iterator.

Returns
The string representation.

◆ at_end()

bool cs::procedure_adjusted_callers_iterator::at_end ( ) const
inlineinherited

Check: is the iterator at the end of the structure?

Returns
true if the iterator is at the end of the structure (there are no more elements to iterate over), false otherwise.

◆ operator!=()

bool cs::procedure_adjusted_callers_iterator::operator!= ( const procedure_adjusted_callers_iterator other) const
inlineinherited

Iterator inequality.

Parameters
[in]otherThe iterator to compare against.
Returns
false if and only if this and other are at the same position. Behavior is undefined if this and other are not iterating over the same collection.

◆ operator*()

cs::procedure_adjusted_callers_iterator::operator* ( ) const

Iterator dereference operator.

Returns
The element at the current iterator position.
Exceptions
result::OUT_OF_ELEMENTSif the iterator is at the end of the container.
result::ERROR_INVALID_PHASE_FOR_OPERATIONif the iterator was initialized before the beginning of the serial depth-first traversal.

◆ operator++()

procedure_adjusted_callers_iterator& cs::procedure_adjusted_callers_iterator::operator++ ( )
inlineinherited

Advance the iterator.

Exceptions
result::OUT_OF_ELEMENTSif the iterator is at the end of the container.

◆ operator=()

procedure_adjusted_callers_iterator& cs::procedure_adjusted_callers_iterator::operator= ( procedure_adjusted_callers_iterator  other)

Iterator assignment operator.

Parameters
[in]otherThe iterator to assign.
Returns
A pointer to this.

◆ operator==()

bool cs::procedure_adjusted_callers_iterator::operator== ( const procedure_adjusted_callers_iterator other) const
inlineinherited

Iterator equality.

Returns
true if and only if this and other are at the same position. Behavior is undefined if this and other are not iterating over the same collection.

◆ swap()

void cs::procedure_adjusted_callers_iterator::swap ( procedure_adjusted_callers_iterator other)
inlineinherited

Exchange the contents of this and other.

Friends And Related Function Documentation

◆ operator<<()

std::ostream & operator<< ( std::ostream &  out,
const procedure_adjusted_callers_iterator a 
)
related

Print a representation of an procedure_adjusted_callers_iterator object to the specified stream.

Parameters
[in]outThe stream to print to.
[in]aThe procedure_adjusted_callers_iterator object to print.
Returns
void

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