Status Class Reference
[C++ Language Interface]

A conjunctive assertion about a polyhedron. More...

#include <Ph_Status.idefs.hh>

List of all members.

Public Member Functions

 Status ()
 By default Status is the zero-dim universe assertion.
bool OK () const
 Checks if all the invariants are satisfied.
PPL_OUTPUT_DECLARATIONS bool ascii_load (std::istream &s)
 Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise.
Test, remove or add an individual assertion from the conjunction
bool test_zero_dim_univ () const
void reset_zero_dim_univ ()
void set_zero_dim_univ ()
bool test_empty () const
void reset_empty ()
void set_empty ()
bool test_c_up_to_date () const
void reset_c_up_to_date ()
void set_c_up_to_date ()
bool test_g_up_to_date () const
void reset_g_up_to_date ()
void set_g_up_to_date ()
bool test_c_minimized () const
void reset_c_minimized ()
void set_c_minimized ()
bool test_g_minimized () const
void reset_g_minimized ()
void set_g_minimized ()
bool test_sat_c_up_to_date () const
void reset_sat_c_up_to_date ()
void set_sat_c_up_to_date ()
bool test_sat_g_up_to_date () const
void reset_sat_g_up_to_date ()
void set_sat_g_up_to_date ()
bool test_c_pending () const
void reset_c_pending ()
void set_c_pending ()
bool test_g_pending () const
void reset_g_pending ()
void set_g_pending ()

Private Types

typedef unsigned int flags_t
 Status is implemented by means of a finite bitset.

Private Member Functions

 Status (flags_t mask)
 Construct from a bit-mask.
bool test_all (flags_t mask) const
 Check whether all bits in mask are set.
bool test_any (flags_t mask) const
 Check whether at least one bit in mask is set.
void set (flags_t mask)
 Set the bits in mask.
void reset (flags_t mask)
 Reset the bits in mask.

Private Attributes

flags_t flags
 This holds the current bitset.

Static Private Attributes

Bit-masks for the individual assertions
static const flags_t ZERO_DIM_UNIV = 0U
static const flags_t EMPTY = 1U << 0
static const flags_t C_UP_TO_DATE = 1U << 1
static const flags_t G_UP_TO_DATE = 1U << 2
static const flags_t C_MINIMIZED = 1U << 3
static const flags_t G_MINIMIZED = 1U << 4
static const flags_t SAT_C_UP_TO_DATE = 1U << 5
static const flags_t SAT_G_UP_TO_DATE = 1U << 6
static const flags_t CS_PENDING = 1U << 7
static const flags_t GS_PENDING = 1U << 8


Detailed Description

A conjunctive assertion about a polyhedron.

The assertions supported are:

Not all the conjunctions of these elementary assertions constitute a legal Status. In fact:

Definition at line 85 of file Ph_Status.idefs.hh.


Member Typedef Documentation

typedef unsigned int Status::flags_t [private]

Status is implemented by means of a finite bitset.

Definition at line 147 of file Ph_Status.idefs.hh.


Constructor & Destructor Documentation

Status::Status (  ) 

By default Status is the zero-dim universe assertion.

Status::Status ( flags_t  mask  )  [private]

Construct from a bit-mask.


Member Function Documentation

bool Status::test_zero_dim_univ (  )  const

void Status::reset_zero_dim_univ (  ) 

void Status::set_zero_dim_univ (  ) 

bool Status::test_empty (  )  const

void Status::reset_empty (  ) 

void Status::set_empty (  ) 

bool Status::test_c_up_to_date (  )  const

void Status::reset_c_up_to_date (  ) 

void Status::set_c_up_to_date (  ) 

bool Status::test_g_up_to_date (  )  const

void Status::reset_g_up_to_date (  ) 

void Status::set_g_up_to_date (  ) 

bool Status::test_c_minimized (  )  const

void Status::reset_c_minimized (  ) 

void Status::set_c_minimized (  ) 

bool Status::test_g_minimized (  )  const

void Status::reset_g_minimized (  ) 

void Status::set_g_minimized (  ) 

bool Status::test_sat_c_up_to_date (  )  const

void Status::reset_sat_c_up_to_date (  ) 

void Status::set_sat_c_up_to_date (  ) 

bool Status::test_sat_g_up_to_date (  )  const

void Status::reset_sat_g_up_to_date (  ) 

void Status::set_sat_g_up_to_date (  ) 

bool Status::test_c_pending (  )  const

void Status::reset_c_pending (  ) 

void Status::set_c_pending (  ) 

bool Status::test_g_pending (  )  const

void Status::reset_g_pending (  ) 

void Status::set_g_pending (  ) 

bool Status::OK (  )  const

Checks if all the invariants are satisfied.

PPL_OUTPUT_DECLARATIONS bool Status::ascii_load ( std::istream &  s  ) 

Loads from s an ASCII representation (as produced by ascii_dump(std::ostream&) const) and sets *this accordingly. Returns true if successful, false otherwise.

bool Status::test_all ( flags_t  mask  )  const [private]

Check whether all bits in mask are set.

bool Status::test_any ( flags_t  mask  )  const [private]

Check whether at least one bit in mask is set.

void Status::set ( flags_t  mask  )  [private]

Set the bits in mask.

void Status::reset ( flags_t  mask  )  [private]

Reset the bits in mask.


Member Data Documentation

const flags_t Status::ZERO_DIM_UNIV = 0U [static, private]

Definition at line 151 of file Ph_Status.idefs.hh.

const flags_t Status::EMPTY = 1U << 0 [static, private]

Definition at line 152 of file Ph_Status.idefs.hh.

const flags_t Status::C_UP_TO_DATE = 1U << 1 [static, private]

Definition at line 153 of file Ph_Status.idefs.hh.

const flags_t Status::G_UP_TO_DATE = 1U << 2 [static, private]

Definition at line 154 of file Ph_Status.idefs.hh.

const flags_t Status::C_MINIMIZED = 1U << 3 [static, private]

Definition at line 155 of file Ph_Status.idefs.hh.

const flags_t Status::G_MINIMIZED = 1U << 4 [static, private]

Definition at line 156 of file Ph_Status.idefs.hh.

const flags_t Status::SAT_C_UP_TO_DATE = 1U << 5 [static, private]

Definition at line 157 of file Ph_Status.idefs.hh.

const flags_t Status::SAT_G_UP_TO_DATE = 1U << 6 [static, private]

Definition at line 158 of file Ph_Status.idefs.hh.

const flags_t Status::CS_PENDING = 1U << 7 [static, private]

Definition at line 159 of file Ph_Status.idefs.hh.

const flags_t Status::GS_PENDING = 1U << 8 [static, private]

Definition at line 160 of file Ph_Status.idefs.hh.

This holds the current bitset.

Definition at line 164 of file Ph_Status.idefs.hh.


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

Generated on Sat Oct 11 10:40:49 2008 for PPL by  doxygen 1.5.6