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

putil.h File Reference

#include "unicode/utypes.h"

Go to the source code of this file.

Defines

#define IEEE_754   1
 Define this to 1 if your platform supports IEEE 754 floating point, to 0 if it does not. More...

#define U_FILE_SEP_CHAR   '/'
 Filesystem file and path separator characters. More...

#define U_PATH_SEP_CHAR   ':'
#define U_FILE_SEP_STRING   "/"
#define U_PATH_SEP_STRING   ":"
#define U_UPPER_ORDINAL(x)   ((x)-'A')
#define U_MAX_PTR(base)   ((void *)(((char *)(base)+0x7fffffff) > (char *)(base) ? ((char *)(base)+0x7fffffff) : (char *)-1))
 Maximum value of a (void*) - use to indicate the limit of an 'infinite' buffer. More...


Functions

U_CAPI double U_EXPORT2 uprv_maxMantissa (void)
 Return the largest positive number that can be represented by an integer type of arbitrary bit length. More...

U_CAPI double U_EXPORT2 uprv_round (double x)
 Does common notion of rounding e.g. More...

U_CAPI int32_t U_EXPORT2 uprv_digitsAfterDecimal (double x)
 Returns the number of digits after the decimal point in a double number x. More...

U_CAPI void U_EXPORT2 uprv_tzset (void)
 Time zone utilities. More...

U_CAPI int32_t U_EXPORT2 uprv_timezone (void)
 Difference in seconds between coordinated universal time and local time. More...

U_CAPI char *U_EXPORT2 uprv_tzname (int n)
 tzname(0) Three-letter time-zone name derived from TZ environment variable. More...

U_CAPI int32_t U_EXPORT2 uprv_getUTCtime (void)
 Get UTC (GMT) time measured in seconds since 0:00 on 1/1/70. More...

U_CAPI const char *U_EXPORT2 u_getDataDirectory (void)
 Return the ICU data directory. More...

U_CAPI void U_EXPORT2 u_setDataDirectory (const char *directory)
 Set the ICU data directory. More...

U_CAPI const char *U_EXPORT2 uprv_getDefaultCodepage (void)
 Return the default codepage for this platform and locale. More...

U_CAPI const char *U_EXPORT2 uprv_getDefaultLocaleID (void)
 Return the default locale ID string by querying ths system, or zero if one cannot be found. More...

U_CAPI double U_EXPORT2 uprv_nextDouble (double d, UBool positive)
U_CAPI void U_EXPORT2 u_charsToUChars (const char *cs, UChar *us, int32_t length)
 Convert char characters to UChar characters. More...

U_CAPI void U_EXPORT2 u_UCharsToChars (const UChar *us, char *cs, int32_t length)
 Convert UChar characters to char characters. More...


Define Documentation

#define IEEE_754   1
 

Define this to 1 if your platform supports IEEE 754 floating point, to 0 if it does not.

Definition at line 32 of file putil.h.

#define U_FILE_SEP_CHAR   '/'
 

Filesystem file and path separator characters.

Example: '/' and ':' on Unix, '\' and ';' on Windows.

Stable:

Definition at line 250 of file putil.h.

#define U_FILE_SEP_STRING   "/"
 

Definition at line 252 of file putil.h.

#define U_MAX_PTR base       ((void *)(((char *)(base)+0x7fffffff) > (char *)(base) ? ((char *)(base)+0x7fffffff) : (char *)-1))
 

Maximum value of a (void*) - use to indicate the limit of an 'infinite' buffer.

In fact, buffer sizes must not exceed 2GB so that the difference between the buffer limit and the buffer start can be expressed in an int32_t.

The definition of U_MAX_PTR must fulfill the following conditions:

  • return the largest possible pointer greater than base
  • return a valid pointer according to the machine architecture (AS/400, 64-bit, etc.)
  • avoid wrapping around at high addresses
  • make sure that the returned pointer is not farther from base than 0x7fffffff
Parameters:
base  The beginning of a buffer to find the maximum offset from
Internal:
For internal use only.

Definition at line 338 of file putil.h.

#define U_PATH_SEP_CHAR   ':'
 

Definition at line 251 of file putil.h.

#define U_PATH_SEP_STRING   ":"
 

Definition at line 253 of file putil.h.

#define U_UPPER_ORDINAL      ((x)-'A')
 

Definition at line 297 of file putil.h.

#define uprv_isNegative number       (*((signed char *)&(number)+sizeof(number)-1)<0)
 

Definition at line 70 of file putil.h.


Function Documentation

U_CAPI void U_EXPORT2 u_UCharsToChars const UChar *    us,
char *    cs,
int32_t    length
 

Convert UChar characters to char characters.

This utility function is useful only for "invariant characters" that can be encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see utypes.h .

Parameters:
us  Input string, points to length Unicode characters that can be encoded with the codepage-invariant subset of the platform encoding.
cs  Output string, points to memory for length character bytes.
length  The number of characters to convert; this may include the terminating NUL.
Stable:

U_CAPI void U_EXPORT2 u_charsToUChars const char *    cs,
UChar *    us,
int32_t    length
 

Convert char characters to UChar characters.

This utility function is useful only for "invariant characters" that are encoded in the platform default encoding. They are a small, constant subset of the encoding and include just the latin letters, digits, and some punctuation. For details, see utypes.h .

Parameters:
cs  Input string, points to length character bytes from a subset of the platform encoding.
us  Output string, points to memory for length Unicode characters.
length  The number of characters to convert; this may include the terminating NUL.
Stable:

U_CAPI const char* U_EXPORT2 u_getDataDirectory void   
 

Return the ICU data directory.

The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.

The data directory is determined as follows: If u_setDataDirectory() has been called, that is it, otherwise if the ICU_DATA environment variable is set, use that, otherwise On Windows, if the SOFTWARE\ICU\Unicode\Data registry entry exists, use that (use of the registry in this way is not recommended.) otherwise If a data directory was specifed at ICU build time, use that otherwise no data directory is available.

Returns:
the data directory, or an empty string ("") if no data directory has been specified.
Stable:

U_CAPI void U_EXPORT2 u_setDataDirectory const char *    directory
 

Set the ICU data directory.

The data directory is where common format ICU data files (.dat files) are loaded from. Note that normal use of the built-in ICU facilities does not require loading of an external data file; unless you are adding custom data to ICU, the data directory does not need to be set.

This function should be called at most once in a process, before the first ICU operation that will require the loading of an ICU data file.

Parameters:
disrectory  The directory to be set.
Stable:

U_CAPI double U_EXPORT2 uprv_ceil double    x
 

U_CAPI int32_t U_EXPORT2 uprv_digitsAfterDecimal double    x
 

Returns the number of digits after the decimal point in a double number x.

Parameters:
x  the double number
Returns:
the number of digits after the decimal point in a double number x.

U_CAPI double U_EXPORT2 uprv_fabs double    x
 

U_CAPI double U_EXPORT2 uprv_floor double    x
 

U_CAPI double U_EXPORT2 uprv_fmax double    x,
double    y
 

U_CAPI double U_EXPORT2 uprv_fmin double    x,
double    y
 

U_CAPI double U_EXPORT2 uprv_fmod double    x,
double    y
 

Referenced by GregorianCalendar::julianDayToDayOfWeek().

U_CAPI const char* U_EXPORT2 uprv_getDefaultCodepage void   
 

Return the default codepage for this platform and locale.

Returns:
the default codepage for this platform
Stable:

U_CAPI const char* U_EXPORT2 uprv_getDefaultLocaleID void   
 

Return the default locale ID string by querying ths system, or zero if one cannot be found.

Returns:
the default locale ID string
Stable:

U_CAPI double U_EXPORT2 uprv_getInfinity void   
 

U_CAPI double U_EXPORT2 uprv_getNaN void   
 

U_CAPI int32_t U_EXPORT2 uprv_getUTCtime void   
 

Get UTC (GMT) time measured in seconds since 0:00 on 1/1/70.

Returns:
the UTC time measured in seconds
Stable:

U_CAPI UBool U_EXPORT2 uprv_isInfinite double   
 

U_CAPI UBool U_EXPORT2 uprv_isNaN double   
 

Platform utilities isolates the platform dependencies of the libarary.

For each platform which this code is ported to, these functions may have to be re-implemented.

U_CAPI UBool U_EXPORT2 uprv_isNegativeInfinity double   
 

U_CAPI UBool U_EXPORT2 uprv_isPositiveInfinity double   
 

U_CAPI double U_EXPORT2 uprv_log double    d
 

Return the floor of the log base 10 of a given double.

This method compensates for inaccuracies which arise naturally when computing logs, and always gives the correct value. The parameter must be positive and finite. (Thanks to Alan Liu for supplying this function.)

Parameters:
d  the double value to apply the common log function for.
Returns:
the log of value d.

U_CAPI int16_t U_EXPORT2 uprv_log10 double    d
 

Return the floor of the log base 10 of a given double.

This method compensates for inaccuracies which arise naturally when computing logs, and always gives the correct value. The parameter must be positive and finite. (Thanks to Alan Liu for supplying this function.)

Parameters:
d  the double value to apply the common log function for.
Returns:
the log of value d.

U_CAPI int32_t U_EXPORT2 uprv_max int32_t    x,
int32_t    y
 

U_CAPI double U_EXPORT2 uprv_maxMantissa void   
 

Return the largest positive number that can be represented by an integer type of arbitrary bit length.

U_CAPI int32_t U_EXPORT2 uprv_min int32_t    x,
int32_t    y
 

U_CAPI double U_EXPORT2 uprv_modf double    x,
double *    y
 

U_CAPI double U_EXPORT2 uprv_nextDouble double    d,
UBool    positive
 

U_CAPI double U_EXPORT2 uprv_pow double    x,
double    y
 

U_CAPI double U_EXPORT2 uprv_pow10 int32_t    x
 

U_CAPI double U_EXPORT2 uprv_round double    x
 

Does common notion of rounding e.g.

uprv_floor(x + 0.5);

Parameters:
x  the double number
Returns:
the rounded double

U_CAPI int32_t U_EXPORT2 uprv_timezone void   
 

Difference in seconds between coordinated universal time and local time.

E.g., -28,800 for PST (GMT-8hrs)

Returns:
the difference in seconds between coordinated universal time and local time.

U_CAPI double U_EXPORT2 uprv_trunc double    d
 

U_CAPI char* U_EXPORT2 uprv_tzname int    n
 

tzname(0) Three-letter time-zone name derived from TZ environment variable.

E.g., "PST". tzname(1) Three-letter DST zone name derived from TZ environment variable. E.g., "PDT". If DST zone is omitted from TZ, tzname(1) is an empty string.

U_CAPI void U_EXPORT2 uprv_tzset void   
 

Time zone utilities.

Wrappers for C runtime library functions relating to timezones. The t_tzset() function (similar to tzset) uses the current setting of the environment variable TZ to assign values to three global variables: daylight, timezone, and tzname. These variables have the following meanings, and are declared in <time.h>.

daylight Nonzero if daylight-saving-time zone (DST) is specified in TZ; otherwise, 0. Default value is 1. timezone Difference in seconds between coordinated universal time and local time. E.g., -28,800 for PST (GMT-8hrs) tzname(0) Three-letter time-zone name derived from TZ environment variable. E.g., "PST". tzname(1) Three-letter DST zone name derived from TZ environment variable. E.g., "PDT". If DST zone is omitted from TZ, tzname(1) is an empty string.

Notes: For example, to set the TZ environment variable to correspond to the current time zone in Germany, you can use one of the following statements:

set TZ=GST1GDT set TZ=GST+1GDT

If the TZ value is not set, t_tzset() attempts to use the time zone information specified by the operating system. Under Windows NT and Windows 95, this information is specified in the Control Panel’s Date/Time application.

Stable:


Generated on Thu Aug 15 14:13:36 2002 for ICU 2.2 by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001