Z3
Public Member Functions
ast_vector_tpl< T >::iterator Class Reference

Public Member Functions

 iterator (ast_vector_tpl const *v, unsigned i)
 
 iterator (iterator const &other)
 
iterator operator= (iterator const &other)
 
bool operator== (iterator const &other) const
 
bool operator!= (iterator const &other) const
 
iteratoroperator++ ()
 
void set (T &arg)
 
iterator operator++ (int)
 
T * operator-> () const
 
operator* () const
 

Detailed Description

template<typename T>
class z3::ast_vector_tpl< T >::iterator

Definition at line 562 of file z3++.h.

Constructor & Destructor Documentation

◆ iterator() [1/2]

iterator ( ast_vector_tpl const *  v,
unsigned  i 
)
inline

Definition at line 566 of file z3++.h.

566 : m_vector(v), m_index(i) {}

◆ iterator() [2/2]

iterator ( iterator const &  other)
inline

Definition at line 567 of file z3++.h.

567 : m_vector(other.m_vector), m_index(other.m_index) {}

Member Function Documentation

◆ operator!=()

bool operator!= ( iterator const &  other) const
inline

Definition at line 573 of file z3++.h.

573  {
574  return other.m_index != m_index;
575  };

◆ operator*()

T operator* ( ) const
inline

Definition at line 585 of file z3++.h.

585 { return (*m_vector)[m_index]; }

Referenced by ast_vector_tpl< T >::iterator::operator->().

◆ operator++() [1/2]

iterator& operator++ ( )
inline

Definition at line 576 of file z3++.h.

576  {
577  ++m_index;
578  return *this;
579  }

◆ operator++() [2/2]

iterator operator++ ( int  )
inline

Definition at line 583 of file z3++.h.

583 { iterator tmp = *this; ++m_index; return tmp; }

◆ operator->()

T* operator-> ( ) const
inline

Definition at line 584 of file z3++.h.

584 { return &(operator*()); }

◆ operator=()

iterator operator= ( iterator const &  other)
inline

Definition at line 568 of file z3++.h.

568 { m_vector = other.m_vector; m_index = other.m_index; return *this; }

◆ operator==()

bool operator== ( iterator const &  other) const
inline

Definition at line 570 of file z3++.h.

570  {
571  return other.m_index == m_index;
572  };

◆ set()

void set ( T &  arg)
inline

Definition at line 580 of file z3++.h.

580  {
581  Z3_ast_vector_set(m_vector->ctx(), *m_vector, m_index, arg);
582  }
z3::ast_vector_tpl::iterator::operator*
T operator*() const
Definition: z3++.h:585
Z3_ast_vector_set
void Z3_API Z3_ast_vector_set(Z3_context c, Z3_ast_vector v, unsigned i, Z3_ast a)
Update position i of the AST vector v with the AST a.
z3::ast_vector_tpl::iterator::iterator
iterator(ast_vector_tpl const *v, unsigned i)
Definition: z3++.h:566