00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _BEECRYPT_CLASS_LONG_H
00024 #define _BEECRYPT_CLASS_LONG_H
00025
00026 #include "beecrypt/api.h"
00027
00028 #ifdef __cplusplus
00029
00030 #include "beecrypt/c++/lang/Comparable.h"
00031 using beecrypt::lang::Comparable;
00032 #include "beecrypt/c++/lang/Number.h"
00033 using beecrypt::lang::Number;
00034 #include "beecrypt/c++/lang/NumberFormatException.h"
00035 using beecrypt::lang::NumberFormatException;
00036 #include "beecrypt/c++/lang/String.h"
00037 using beecrypt::lang::String;
00038
00039 namespace beecrypt {
00040 namespace lang {
00043 class BEECRYPTCXXAPI Long : public beecrypt::lang::Number, public beecrypt::lang::Comparable<Long>
00044 {
00045 private:
00046 javalong _val;
00047
00048 public:
00049 static const javalong MIN_VALUE;
00050 static const javalong MAX_VALUE;
00051
00052 static const String& toHexString(javalong l) throw ();
00053 static const String& toOctalString(javalong l) throw ();
00054 static const String& toString(javalong l) throw ();
00055
00056 static javalong parseLong(const String& s) throw (NumberFormatException);
00057
00058 public:
00059 Long(javalong value);
00060 Long(const String& s) throw (NumberFormatException);
00061 virtual ~Long() {};
00062
00063 virtual javabyte byteValue() const throw ();
00064 virtual javashort shortValue() const throw ();
00065 virtual javaint intValue() const throw ();
00066 virtual javalong longValue() const throw ();
00067
00068 virtual int compareTo(const Long& anotherLong) const throw ();
00069 };
00070 }
00071 }
00072
00073 #endif
00074
00075 #endif