Main Page   Packages   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Search  

Integer Class Reference

#include <Integer.hpp>

List of all members.

Public Methods

 Integer ()
 Integer (long i)
 Integer (long i, enum MathState s)
 Integer (const char *s)
 Integer (const Integer &I)
virtual ~Integer ()
 operator int () const
 operator long () const
Integer operator~ ()
 Integer ()
 Integer (int i)
 Integer (int i, enum MathState s)
 Integer (const char *s)
 Integer (const Integer &I)
virtual ~Integer ()
 operator int () const
const Integer & operator= (int i)
Integer operator! ()
Integer operator- ()
Integer operator~ ()
Integer operator-- ()
Integer operator-- (int)
Integer operator++ ()
Integer operator++ (int)

Private Attributes

int value
enum MathState status

Friends

ostream & operator<< (ostream &os, Integer &I)
Integer operator<< (const Integer &l, const Integer &r)
Integer operator>> (const Integer &l, const Integer &r)
Integer operator| (const Integer &l, const Integer &r)
Integer operator & (const Integer &l, const Integer &r)
Integer operator^ (const Integer &l, const Integer &r)
ostream & operator<< (ostream &os, Integer &I)
bool operator== (const Integer &l, const Integer &r)
bool operator!= (const Integer &l, const Integer &r)
bool operator< (const Integer &l, const Integer &r)
bool operator<= (const Integer &l, const Integer &r)
bool operator> (const Integer &l, const Integer &r)
bool operator>= (const Integer &l, const Integer &r)
Integer operator+ (const Integer &l, const Integer &r)
Integer operator- (const Integer &l, const Integer &r)
Integer operator * (const Integer &l, const Integer &r)
Integer operator/ (const Integer &l, const Integer &r)
Integer operator<< (const Integer &l, const Integer &r)
Integer operator>> (const Integer &l, const Integer &r)
Integer operator| (const Integer &l, const Integer &r)
Integer operator & (const Integer &l, const Integer &r)
Integer operator^ (const Integer &l, const Integer &r)


Constructor & Destructor Documentation

Integer::Integer   [inline]
 

Definition at line 13 of file Integer.hpp.

Referenced by operator &(), operator!(), operator++(), operator-(), operator--(), operator<<(), operator>>(), operator^(), operator|(), and operator~().

00013                      : value(0), status( Valid ) {
00014        verify();
00015     }

Integer::Integer long    i [inline]
 

Definition at line 17 of file Integer.hpp.

00017                            : value(i), status( Valid ) { 
00018        verify();
00019     }

Integer::Integer long    i,
enum MathState    s
[inline]
 

Definition at line 21 of file Integer.hpp.

00021                                              : value(i), status( s ) {
00022        verify();
00023     }

Integer::Integer const char *    s [inline]
 

Definition at line 25 of file Integer.hpp.

00025                                   {
00026       status = getState( s );
00027       value  = atoi(s);
00028 
00029       if ( (int)status < 3 ) { // Change state, only if not Invalid
00030         verify();       
00031       }
00032     }

Integer::Integer const Integer &    I [inline]
 

Definition at line 34 of file Integer.hpp.

00035       : value( I.value ), status( I.status ) { }

virtual Integer::~Integer   [inline, virtual]
 

Definition at line 37 of file Integer.hpp.

00037 { }

Integer::Integer   [inline]
 

Definition at line 10 of file Integer.hpp.

00010                      : value(0), status( Valid ) {
00011        verify();
00012     }

Integer::Integer int    i [inline]
 

Definition at line 14 of file Integer.hpp.

00014                           : value(i), status( Valid ) { 
00015        verify();
00016     }

Integer::Integer int    i,
enum MathState    s
[inline]
 

Definition at line 18 of file Integer.hpp.

00018                                             : value(i), status( s ) {
00019        verify();
00020     }

Integer::Integer const char *    s [inline]
 

Definition at line 22 of file Integer.hpp.

00022                                   {
00023       status = Valid;  // SHOULD check if s = "NaN", etc.
00024       value  = atoi(s);
00025     }

Integer::Integer const Integer &    I [inline]
 

Definition at line 27 of file Integer.hpp.

00028       : value( I.value ), status( I.status ) { }

virtual Integer::~Integer   [inline, virtual]
 

Definition at line 30 of file Integer.hpp.

00030 { }


Member Function Documentation

Integer::operator int   const [inline]
 

Definition at line 48 of file Integer.hpp.

00048                                  {
00049    return value;
00050     }

Integer::operator int   const [inline]
 

Definition at line 55 of file Integer.hpp.

00055                                 {
00056        return (int)value;
00057     }

Integer::operator long   const [inline]
 

Definition at line 59 of file Integer.hpp.

00059                                  {
00060        return (long)value;
00061     }

Integer Integer::operator!   [inline]
 

Definition at line 72 of file Integer.hpp.

00072                                {
00073    return Integer(!value);
00074     }

Integer Integer::operator++ int    [inline]
 

Definition at line 90 of file Integer.hpp.

00090                                    {
00091    return Integer(value++);
00092     }

Integer Integer::operator++   [inline]
 

Definition at line 87 of file Integer.hpp.

00087                                 {
00088    return Integer(++value);
00089     }

Integer Integer::operator-   [inline]
 

Definition at line 75 of file Integer.hpp.

00075                                {
00076    return Integer(-value);
00077     }

Integer Integer::operator-- int    [inline]
 

Definition at line 84 of file Integer.hpp.

00084                                    {
00085    return Integer(value--);
00086     }

Integer Integer::operator--   [inline]
 

Definition at line 81 of file Integer.hpp.

00081                                 {
00082    return Integer(--value);
00083     }

const Integer& Integer::operator= int    i [inline]
 

Definition at line 51 of file Integer.hpp.

00051                                            {
00052    value=i;
00053    return *this;
00054     }

Integer Integer::operator~   [inline]
 

Definition at line 78 of file Integer.hpp.

00078                                {
00079    return Integer(~value);
00080     }

Integer Integer::operator~   [inline]
 

Definition at line 69 of file Integer.hpp.

00069                                {
00070       return Integer( ~value );
00071     }


Friends And Related Function Documentation

Integer operator & const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 116 of file Integer.hpp.

00116                                                             {
00117     return Integer(l.value&r.value);
00118 }

Integer operator & const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 116 of file Integer.hpp.

00116                                                             {
00117     return Integer(l.value&r.value);
00118 }

Integer operator * const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 148 of file Integer.hpp.

00148                                                             {
00149     return Integer(l.value*r.value);
00150 }

bool operator!= const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 120 of file Integer.hpp.

00120                                                           {
00121     return l.value!=r.value;
00122 }

Integer operator+ const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 140 of file Integer.hpp.

00140                                                             {
00141     return Integer(l.value+r.value);
00142 }

Integer operator- const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 144 of file Integer.hpp.

00144                                                             {
00145     return Integer(l.value-r.value);
00146 }

Integer operator/ const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 152 of file Integer.hpp.

00152                                                             {
00153     return Integer(l.value/r.value);
00154 }

bool operator< const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 124 of file Integer.hpp.

00124                                                          {
00125     return l.value<r.value;
00126 }

Integer operator<< const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 104 of file Integer.hpp.

00104                                                              {
00105     return Integer(l.value<<r.value);
00106 }

ostream& operator<< ostream &    os,
Integer &    I
[friend]
 

Definition at line 32 of file Integer.hpp.

00032                                                         {
00033       unsigned int state = (unsigned int)(I.status);
00034       if ( !state ) {
00035         return os << I.value;
00036       } else if ( state < J2K_MAX_MathState ) {
00037         return os << MathStateTxt[ state ];
00038       }
00039 
00040       // Something weird occured, if this get executed !
00041       abort();  
00042       return os << "";
00043 
00044     }

Integer operator<< const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 104 of file Integer.hpp.

00104                                                              {
00105     return Integer(l.value<<r.value);
00106 }

ostream& operator<< ostream &    os,
Integer &    I
[friend]
 

Definition at line 39 of file Integer.hpp.

00039                                                         {
00040       unsigned int state = (unsigned int)(I.status);
00041       if ( state < 3 ) {
00042         return os << I.value;
00043       } else if ( state < J2K_MAX_MathState ) {
00044         return os << MathStateTxt[ state ];
00045       }
00046 
00047       // Something weird occured, if this get executed !
00048       abort();  
00049       return os << "";
00050 
00051     }

bool operator<= const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 128 of file Integer.hpp.

00128                                                           {
00129     return l.value<=r.value;
00130 }

bool operator== const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 116 of file Integer.hpp.

00116                                                           {
00117     return l.value==r.value;
00118 }

bool operator> const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 132 of file Integer.hpp.

00132                                                          {
00133     return l.value>r.value;
00134 }

bool operator>= const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 136 of file Integer.hpp.

00136                                                           {
00137     return l.value>=r.value;
00138 }

Integer operator>> const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 108 of file Integer.hpp.

00108                                                              {
00109     return Integer(l.value>>r.value);
00110 }

Integer operator>> const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 108 of file Integer.hpp.

00108                                                              {
00109     return Integer(l.value>>r.value);
00110 }

Integer operator^ const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 120 of file Integer.hpp.

00120                                                             {
00121     return Integer(l.value^r.value);
00122 }

Integer operator^ const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 120 of file Integer.hpp.

00120                                                             {
00121     return Integer(l.value^r.value);
00122 }

Integer operator| const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 112 of file Integer.hpp.

00112                                                             {
00113     return Integer(l.value|r.value);
00114 }

Integer operator| const Integer &    l,
const Integer &    r
[friend]
 

Definition at line 112 of file Integer.hpp.

00112                                                             {
00113     return Integer(l.value|r.value);
00114 }


Member Data Documentation

enum MathState Integer::status [private]
 

Definition at line 113 of file Integer.hpp.

Referenced by operator<<().

int Integer::value [private]
 

Definition at line 112 of file Integer.hpp.

Referenced by Double::Double(), operator &(), operator *(), operator!=(), operator+(), operator-(), operator/(), operator<(), operator<<(), operator<<(), operator<=(), operator==(), operator>(), operator>=(), operator>>(), operator^(), and operator|().


The documentation for this class was generated from the following files:
Generated on Sun Oct 14 18:48:42 2001 for Standard J2K Library by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001