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

Iterator over the local variables (symbol) that are declared in a procedure. More...

Public Types

typedef const symbolconst_pointer
 const pointer to the type of the iterator elements. More...
 
typedef const symbolconst_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 symbolpointer
 Pointer to the type of the iterator elements. More...
 
typedef symbolreference
 Reference to the type of the iterator elements. More...
 

Public Member Functions

 procedure_locals_iterator (const procedure_locals_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_locals_iterator &other) const
 Iterator inequality. More...
 
symbol operator* () const
 Iterator dereference operator. More...
 
procedure_locals_iteratoroperator++ ()
 Advance the iterator. More...
 
procedure_locals_iteratoroperator= (procedure_locals_iterator other)
 Iterator assignment operator. More...
 
bool operator== (const procedure_locals_iterator &other) const
 Iterator equality. More...
 
void swap (procedure_locals_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_locals_iterator &a)
 Print a representation of an procedure_locals_iterator object to the specified stream. More...
 

Detailed Description

Iterator over the local variables (symbol) that are declared in a procedure.

Initialize with procedure::local_symbols().

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

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

Member Typedef Documentation

◆ const_pointer

typedef const symbol* cs::procedure_locals_iterator::const_pointer
inherited

const pointer to the type of the iterator elements.

◆ const_reference

typedef const symbol& cs::procedure_locals_iterator::const_reference
inherited

const reference to the type of the iterator elements.

◆ difference_type

typedef cs_ssize_t cs::procedure_locals_iterator::difference_type
inherited

Type of distance between iterators.

◆ iterator_category

typedef std::forward_iterator_tag cs::procedure_locals_iterator::iterator_category
inherited

Iterator is a ForwardIterator.

◆ pointer

typedef symbol* cs::procedure_locals_iterator::pointer
inherited

Pointer to the type of the iterator elements.

◆ reference

typedef symbol& cs::procedure_locals_iterator::reference
inherited

Reference to the type of the iterator elements.

Constructor & Destructor Documentation

◆ procedure_locals_iterator()

cs::procedure_locals_iterator::procedure_locals_iterator ( const procedure_locals_iterator other)

Copy constructor.

Member Function Documentation

◆ advance()

void cs::procedure_locals_iterator::advance ( )
inlineinherited

Advance the iterator by one position.

Exceptions
result::OUT_OF_ELEMENTS

◆ as_repr()

std::string cs::procedure_locals_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_locals_iterator::as_string ( ) const
inlineinherited

Get a simple string representation of the iterator.

Returns
The string representation.

◆ at_end()

bool cs::procedure_locals_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_locals_iterator::operator!= ( const procedure_locals_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_locals_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::PDG_IS_UNDEFINEDif the iterator was initialized with respect to a procedure whose kind is procedure_kind::UNDEFINED.

◆ operator++()

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

Advance the iterator.

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

◆ operator=()

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

Iterator assignment operator.

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

◆ operator==()

bool cs::procedure_locals_iterator::operator== ( const procedure_locals_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_locals_iterator::swap ( procedure_locals_iterator other)
inlineinherited

Exchange the contents of this and other.

Friends And Related Function Documentation

◆ operator<<()

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

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

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

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