Parma_Polyhedra_Library::Interval_NS Namespace Reference

Classes

struct  Property
struct  Scalar_As_Interval_Policy

Typedefs

typedef
Interval_Restriction_None
< Interval_Info_Null
< Scalar_As_Interval_Policy > > 
Scalar_As_Interval_Info
typedef
Interval_Restriction_None
< Interval_Info_Null_Open
< Scalar_As_Interval_Policy > > 
Scalar_As_Interval_Info_Open

Functions

template<typename T >
void reset_bits (T &bits)
template<typename T >
void reset_bit (T &bits, unsigned int bit)
template<typename T >
void set_bit (T &bits, unsigned int bit, bool value)
template<typename T >
bool get_bit (const T &bits, unsigned int bit)
template<typename T >
void set_bits (T &bits, unsigned int start, unsigned int len, T value)
template<typename T >
get_bits (T &bits, unsigned int start, unsigned int len)
template<typename Boundary , typename Info >
const Boundary & f_lower (const Interval< Boundary, Info > &x)
template<typename Boundary , typename Info >
const Boundary & f_upper (const Interval< Boundary, Info > &x)
template<typename Boundary , typename Info >
const Info & f_info (const Interval< Boundary, Info > &x)
template<typename T >
Enable_If< Is_Singleton< T >
::value, const T & >::type 
f_lower (const T &x)
template<typename T >
Enable_If< Is_Singleton< T >
::value, const T & >::type 
f_upper (const T &x)
template<typename T >
Enable_If< Is_Singleton< T >
::value, const
Scalar_As_Interval_Info & >
::type 
f_info (const T &)
template<typename T >
Enable_If< Is_Singleton< T >
::value,
Scalar_As_Interval_Info_Open >
::type 
f_info (const T &, bool open)
template<typename T >
Enable_If< Is_Singleton< T >
::value, bool >::type 
f_is_empty (const T &x)
template<typename T >
Enable_If< Is_Singleton< T >
::value, bool >::type 
f_is_singleton (const T &x)

Variables

const Property CARDINALITY_0 (Property::CARDINALITY_0_)
const Property CARDINALITY_1 (Property::CARDINALITY_1_)
const Property CARDINALITY_IS (Property::CARDINALITY_IS_)
const Scalar_As_Interval_Info SCALAR_INFO

Typedef Documentation

Definition at line 101 of file Interval.inlines.hh.

Definition at line 105 of file Interval.inlines.hh.


Function Documentation

template<typename T >
Enable_If<Is_Singleton<T>::value, Scalar_As_Interval_Info_Open>::type Parma_Polyhedra_Library::Interval_NS::f_info ( const T &  ,
bool  open 
) [inline]

Definition at line 124 of file Interval.inlines.hh.

00124                             {
00125   return Scalar_As_Interval_Info_Open(open);
00126 }

template<typename T >
Enable_If<Is_Singleton<T>::value, const Scalar_As_Interval_Info&>::type Parma_Polyhedra_Library::Interval_NS::f_info ( const T &   )  [inline]

Definition at line 119 of file Interval.inlines.hh.

References SCALAR_INFO.

00119                  {
00120   return SCALAR_INFO;
00121 }

template<typename Boundary , typename Info >
const Info& Parma_Polyhedra_Library::Interval_NS::f_info ( const Interval< Boundary, Info > &  x  )  [inline]
template<typename T >
Enable_If<Is_Singleton<T>::value, bool>::type Parma_Polyhedra_Library::Interval_NS::f_is_empty ( const T &  x  )  [inline]

Definition at line 130 of file Interval.inlines.hh.

References Parma_Polyhedra_Library::is_not_a_number().

Referenced by f_is_singleton().

00130                        {
00131   return is_not_a_number(x);
00132 }

template<typename T >
Enable_If<Is_Singleton<T>::value, bool>::type Parma_Polyhedra_Library::Interval_NS::f_is_singleton ( const T &  x  )  [inline]

Definition at line 136 of file Interval.inlines.hh.

References f_is_empty().

00136                            {
00137   return !f_is_empty(x);
00138 }

template<typename T >
Enable_If<Is_Singleton<T>::value, const T&>::type Parma_Polyhedra_Library::Interval_NS::f_lower ( const T &  x  )  [inline]

Definition at line 109 of file Interval.inlines.hh.

00109                     {
00110   return x;
00111 }

template<typename Boundary , typename Info >
const Boundary& Parma_Polyhedra_Library::Interval_NS::f_lower ( const Interval< Boundary, Info > &  x  )  [inline]
template<typename T >
Enable_If<Is_Singleton<T>::value, const T&>::type Parma_Polyhedra_Library::Interval_NS::f_upper ( const T &  x  )  [inline]

Definition at line 114 of file Interval.inlines.hh.

00114                     {
00115   return x;
00116 }

template<typename Boundary , typename Info >
const Boundary& Parma_Polyhedra_Library::Interval_NS::f_upper ( const Interval< Boundary, Info > &  x  )  [inline]
template<typename T >
bool Parma_Polyhedra_Library::Interval_NS::get_bit ( const T &  bits,
unsigned int  bit 
) [inline]
template<typename T >
T Parma_Polyhedra_Library::Interval_NS::get_bits ( T &  bits,
unsigned int  start,
unsigned int  len 
) [inline]

Definition at line 91 of file Interval_Info.defs.hh.

00091                                                         {
00092   return (bits >> start) & ((static_cast<T>(1) << len) - 1);
00093 }

template<typename T >
void Parma_Polyhedra_Library::Interval_NS::reset_bit ( T &  bits,
unsigned int  bit 
) [inline]

Definition at line 63 of file Interval_Info.defs.hh.

Referenced by set_bit().

00063                                      {
00064   bits &= ~(static_cast<T>(1) << bit);
00065 }

template<typename T >
void Parma_Polyhedra_Library::Interval_NS::reset_bits ( T &  bits  )  [inline]
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::set_bit ( T &  bits,
unsigned int  bit,
bool  value 
) [inline]
template<typename T >
void Parma_Polyhedra_Library::Interval_NS::set_bits ( T &  bits,
unsigned int  start,
unsigned int  len,
value 
) [inline]

Definition at line 84 of file Interval_Info.defs.hh.

Referenced by Parma_Polyhedra_Library::Linear_Row::Flags::ascii_load().

00084                                                                  {
00085   bits &= ~(((static_cast<T>(1) << len) - 1) << start);
00086   bits |= value << start;
00087 }


Variable Documentation

Generated on Sun Feb 27 16:20:33 2011 for PPL by  doxygen 1.6.3