00001
#if !defined (__LIMITS_HPP)
00002
#define __LIMITS_HPP
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
#if !defined IN_COMMON_HPP
00026
#error Limits.hpp is included by Common.hpp only.
00027
#endif
00028
00029
namespace corelinux
00030 {
00031 DECLARE_CLASS( Limits );
00032
00037 class Limits
00038 {
00039
00040
public:
00041
enum CharLimits
00042 {
00043 CHARBITS = 8,
00044 CHARMIN = -128,
00045 CHARMAX = 127
00046 };
00047
00048
enum ByteLimits
00049 {
00050 BYTEBITS = 8,
00051 BYTEMIN = 0,
00052 BYTEMAX = 255
00053 };
00054
00055
enum ShortLimits
00056 {
00057 SHORTBITS = 16,
00058 SHORTMIN = (-32768),
00059 SHORTMAX = 32767
00060 };
00061
00062
enum WordLimits
00063 {
00064 WORDBITS = 16,
00065 WORDMIN = 0,
00066 WORDMAX = 65535
00067 };
00068
00069
enum LongLimits
00070 {
00071 LONGBITS = 32,
00072 LONGMIN = (-2147483647 - 1),
00073 LONGMAX = 2147483647
00074 };
00075
00076
enum DwordLimits
00077 {
00078 DWORDBITS = 32,
00079 DWORDMIN = 0,
00080 DWORDMAX = -1
00081 };
00082
00083
enum SizeLimits
00084 {
00085 SIZEBITS = DWORDBITS,
00086 SIZEMIN = DWORDMIN,
00087 SIZEMAX = DWORDMAX
00088 };
00089
00090
enum IndexLimits
00091 {
00092 INDEXBITS = DWORDBITS,
00093 INDEXMIN = DWORDMIN,
00094 INDEXMAX = DWORDMAX
00095 };
00096
00097
enum CounterLimits
00098 {
00099 COUNTERBITS = LONGBITS,
00100 COUNTERMIN = LONGMIN,
00101 COUNTERMAX = LONGMAX
00102 };
00103
00104
enum IdLimits
00105 {
00106 IDBITS = WORDBITS,
00107 IDMIN = WORDMIN,
00108 IDMAX = WORDMAX
00109 };
00110
00111
00112
00113
00114
00115
static Word RealBits;
00116
static Word RealPrecision;
00117
static Real RealMin;
00118
static Real RealMax;
00119
00120
00121
00122
00123
00124
static Real RealEpsilon;
00125 };
00126
00127 }
00128
00129
#endif // !defined HEADER_HPP
00130
00131
00132
00133
00134
00135
00136
00137
00138