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

Public Member Functions

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

Detailed Description

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

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

Constructor & Destructor Documentation

iterator ( ast_vector_tpl const *  v,
unsigned  i 
)
inline

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

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

Member Function Documentation

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

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

632  {
633  return other.m_index != m_index;
634  };
T operator* ( ) const
inline

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

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

644 { return (*m_vector)[m_index]; }
iterator& operator++ ( )
inlinenoexcept

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

635  {
636  ++m_index;
637  return *this;
638  }
iterator operator++ ( int  )
inlinenoexcept

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

642 { iterator tmp = *this; ++m_index; return tmp; }
iterator(ast_vector_tpl const *v, unsigned i)
Definition: z3++.h:627
T* operator-> ( ) const
inline

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

643 { return &(operator*()); }
bool operator== ( iterator const &  other) const
inlinenoexcept

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

629  {
630  return other.m_index == m_index;
631  };
void set ( T &  arg)
inline

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

639  {
640  Z3_ast_vector_set(m_vector->ctx(), *m_vector, m_index, arg);
641  }
context & ctx() const
Definition: z3++.h:473
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.