Z3
Public Member Functions
solver::cube_iterator Class Reference

Public Member Functions

 cube_iterator (solver &s, expr_vector &vars, unsigned &cutoff, bool end)
 
cube_iteratoroperator++ ()
 
cube_iterator operator++ (int)
 
const expr_vectoroperator-> () const
 
expr_vector const & operator* () const
 
bool operator== (cube_iterator const &other)
 
bool operator!= (cube_iterator const &other)
 

Detailed Description

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

Constructor & Destructor Documentation

◆ cube_iterator()

cube_iterator ( solver s,
expr_vector vars,
unsigned &  cutoff,
bool  end 
)
inline

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

2490  :
2491  m_solver(s),
2492  m_cutoff(cutoff),
2493  m_vars(vars),
2494  m_cube(s.ctx()),
2495  m_end(end),
2496  m_empty(false) {
2497  if (!m_end) {
2498  inc();
2499  }
2500  }

Member Function Documentation

◆ operator!=()

bool operator!= ( cube_iterator const &  other)
inline

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

2519  {
2520  return other.m_end != m_end;
2521  };

◆ operator*()

expr_vector const& operator* ( ) const
inline

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

2514 { return m_cube; }

Referenced by solver::cube_iterator::operator->().

◆ operator++() [1/2]

cube_iterator& operator++ ( )
inline

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

2502  {
2503  assert(!m_end);
2504  if (m_empty) {
2505  m_end = true;
2506  }
2507  else {
2508  inc();
2509  }
2510  return *this;
2511  }

◆ operator++() [2/2]

cube_iterator operator++ ( int  )
inline

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

2512 { assert(false); return *this; }

◆ operator->()

const expr_vector* operator-> ( ) const
inline

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

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

◆ operator==()

bool operator== ( cube_iterator const &  other)
inline

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

2516  {
2517  return other.m_end == m_end;
2518  };
z3::solver::cube_iterator::operator*
expr_vector const & operator*() const
Definition: z3++.h:2514