RWLocale man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



RWLocale(3C++)							RWLocale(3C++)

Name
     RWLocale - Rogue Wave library class

Synopsis
	      #include <locale.h>
	  #include <rw/locale.h>
	  (Abstract base class)

Description
     RWLocale is an abstract base class.  It defines an interface for
     formatting dates (including day and month names), times, numbers
     (including digit grouping), and currency, to and from strings. Note that
     because it is an abstract base class, there is no way to actually enforce
     these goals -- the description here is merely the model of how a class
     derived from RWLocale should act.	There are three ways to use an
     RWLocale object:
	  By passing the object to functions which expect one, such as
	  RWDate::asString().

	  By specifying a "global" locale using the static member function
	  RWLocale::global(RWLocale*).	This locale is passed as the default
	  argument to functions that use a locale.

	  By "imbuing" a stream with the object, so that when an RWDate or
	  RWTime is written to a stream using operator<<(), the appropriate
	  formatting will be used automatically.

     Two implementations of RWLocale are provided with the library:
	  Class RWLocaleSnapshot encapsulates the Standard C library locale
	  facility, with two additional advantages: more than one locale can
	  be active at the same time; and it supports conversions from strings
	  to other types.  .in -5

	       There is also an internal class that mimics
	       RWLocaleSnapshot("C").  If your compiler does not have built-in
	       support for locales, one is constructed automatically at
	       program startup to be used as the default value of
	       RWLocale::global().  If your compiler does support locales,
	       RWLocale::global() returns a const reference to an instance of
	       RWLocaleSnapshot("C")..in -5


Persistence
     None

Enumeration
	      enum
	  CurrSymbol { NONE, LOCAL, INTL };

									Page 1

RWLocale(3C++)							RWLocale(3C++)

     Controls whether no currency symbol, the local currency symbol, or the
     international currency symbol should be used to format currency.

Public Member Functions
	      virtual RWCString
	  asString(long) const = 0;
	  virtual RWCString
	  asString(unsigned long) const = 0;

     Converts the number to a string (e.g., "3,456").

	      virtual RWCString
	  asString(double f, int precision = 6,
	  RWBoolean showpoint = 0) const = 0;

     Converts the double f to a string.	 The variable precision is the number
     of digits to place after the decimal separator.  If showpoint is TRUE,
     the decimal separator will appear regardless of the precision.

	      virtual RWCString
	  asString(const struct tm* tmbuf,char format,
	  const RWZone& zone) const = 0;

     Converts components of the struct tm object to a string, according to the
     format character.	The meanings assigned to the format character are
     identical to those used in the Standard C Library function strftime().
     The members of struct tm are assumed to be set consistently.  See	for a
     summary of strftime() formatting characters.

	      RWCString
	  asString(const struct tm* tmbuf,const char* format,
		   const RWZone& zone) const;

     Converts components of the struct tm object to a string, according to the
     format string.  Each format character in the format string must be
     preceded by %.  Any characters not preceded by % are treated as ordinary
     characters which are returned unchanged.  You may represent the special
     character % with "%%". The meanings assigned to the format character are
     identical to those used in the Standard C Library function strftime().
     The members of struct tm are assumed to be set consistently.  See	for a
     summary of strftime() formatting characters.  This function is not
     virtual in order to maintain link-compatibility with the previous version
     of the library.

	      virtual RWCString
	  moneyAsString(double value,enum CurrSymbol = LOCAL)
			const = 0;

									Page 2

RWLocale(3C++)							RWLocale(3C++)

     Returns a string containing the value argument formatted according to
     monetary conventions for the locale.  The value argument is assumed to
     contain an integer representing the number of units of currency (e.g.,
     moneyAsString(1000., RWLocale::LOCAL) in a US locale would yield
     "$10.00").	 The CurrSymbol argument determines whether the local (e.g.,
     "$") or international (e.g., "USD ") currency symbol is applied, or none.

	      virtual int
	  monthIndex(const RWCString&) const = 0;

     Interprets its argument as a full or abbreviated month name, returning
     values 1 through 12 to represent (respectively) January through December,
     or 0 for an error.	 Leading white space is ignored.

	      virtual RWBoolean
	  stringToNum(const RWCString&, double* fp) const = 0;

     Interprets the RWCString argument as a floating point number.  Spaces are
     allowed before and after the (optional) sign, and at the end.  Digit
     group separators are allowed in the integer portion.  Returns TRUE for a
     valid number, FALSE for an error.	If it returns FALSE, the double*
     argument is untouched.  All valid numeric strings are accepted; all
     others are rejected.  The following are examples of valid numeric strings
     in an English-speaking locale:

		   "1"		" -02. "     ".3"

		   "1234.56"	"1e10"	     "+ 19,876.2E+20"

	  virtual RWBoolean
	  stringToNum(const RWCString&, long* ip) const = 0;

     Interprets the RWCString argument as an integer.  Spaces are allowed
     before and after the (optional) sign, and at the end.  Digit group
     separators are allowed.  Returns TRUE for a valid integer, FALSE for an
     error.  If it returns FALSE, the long* argument is untouched.  All valid
     numeric strings are accepted; all others are rejected.  The following are
     examples of valid integral strings in an English-speaking locale:

		   "1"		 " -02. "     "+ 1,234"

									Page 3

RWLocale(3C++)							RWLocale(3C++)

		   "1234545"	 "1,234,567"

     Table 1. Formatting characters used by strftime().	 Examples are given
     (in parenthesis). For those formats that do not use all members of the
     struct tm, only those members that are actually used are noted [in
     brackets].

     Format character Meaning Example

     a Abbreviated weekday name [from tm::tm_wday] Sun

     A Full weekday name [from tm::tm_wday] Sunday

     b Abbreviated month name Feb

     B Full month name February

     c Date and time [may use all members] Feb 29 14:34:56 1984

     d Day of the month 29

     H Hour of the 24-hour day 14

     I Hour of the 12-hour day 02

     j Day of the year, from 001 [from tm::tm_yday] 60

     m Month of the year, from 01 02

     M Minutes after the hour 34

     p AM/PM indicator, if any AM

     S Seconds after the minute 56

     U Sunday week of the year, from 00 [from tm::tm_yday and tm::tm_wday]

									Page 4

RWLocale(3C++)							RWLocale(3C++)

     w Day of the week, with 0 for Sunday 0

     W Monday week of the year, from 00 [from tm::tm_yday and tm::tm_wday]

     x Date [uses tm::tm_yday in some locales] Feb 29 1984

     X Time 14:34:56

     y Year of the century, from 00 (deprecated) 84

     Y Year 1984

     Z Time zone name [from tm::tm_isdst] PST or PDT

	  virtual RWBoolean
	  stringToDate(const RWCString&, struct tm*) const = 0;

     Interprets the RWCString as a date, and extracts the month, day, and year
     components to the tm argument.  It returns TRUE for a valid date, FALSE
     otherwise.	 If it returns FALSE, the struct tm argument is untouched;
     otherwise it sets the tm_mday, tm_mon, and tm_year members.  If the date
     is entered as three numbers, the order expected is the same as that
     produced by strftime().  Note that this function cannot reject all
     invalid date strings.  The following are examples of valid date strings
     in an English-speaking locale:

		   "Jan 9, 62"	   "1/9/62"	"January 9 1962"

		   "09Jan62"	   "010962"

	      virtual RWBoolean
	  stringToTime(const RWCString&, struct tm*) const = 0;

     Interprets the RWCString argument as a time, with hour, minute, and
     optional second.  If the hour is in the range [1..12], the local
     equivalent of "AM" or "PM" is allowed.  Returns TRUE for a valid time
     string, FALSE for an error.  If it returns FALSE, the tm argument is
     untouched; otherwise it sets the tm_hour, tm_min, and tm_sec members.

									Page 5

RWLocale(3C++)							RWLocale(3C++)

     Note that this function cannot reject all invalid time strings.  The
     following are examples of valid time strings in an English-speaking
     locale:

		   "1:10 AM"	 "13:45:30"	"12.30.45pm"

		   "PM 3:15"	 "1430"

	      virtual RWBoolean
	  stringToMoney(const RWCString&, double*,
			RWLocale::CurrSymbol=LOCAL) const = 0;

     Interprets the RWCString argument as a monetary value.  The currency
     symbol, if any, is ignored.  Negative values may be specified by the
     negation symbol or by enclosing parentheses.  Digit group separators are
     optional; if present they are checked.  Returns TRUE for a valid monetary
     value, FALSE for an error.	 If it returns FALSE, the double* argument is
     untouched; otherwise it is set to the integral number of monetary units
     entered (e.g. cents, in a U.S. locale).

	      const RWLocale*
	  imbue(ios& stream) const;

     Installs self in the stream argument, for later use by the operators <<
     and >> (e.g. in RWDate or RWTime).	 The pointer may be retrieved from the
     stream with the static member RWLocale::of().  In this way a locale may
     be passed transparently through many levels of control to be available
     where needed, without intruding elsewhere.

	      virtual int
	  weekdayIndex(const RWCString&) const = 0;

     Interprets its argument as a full or abbreviated weekday name, returning
     values 1 through 7 to represent (respectively) Monday through Sunday, or
     0 for an error.

Static Public Member Functions
	      static const RWLocale&
	  of(ios&);

     Returns the locale installed in the stream argument by a previous call to
     RWLocale::imbue() or, if no locale was installed, the result from
     RWLocale::global().

									Page 6

RWLocale(3C++)							RWLocale(3C++)

	      static const RWLocale*
	  global(const RWLocale* loc);

     Sets the global "default" locale object to loc, returning the old object.
     This object is used by RWDate and RWTime string conversion functions as a
     default locale.  It is set initially to refer to an instance of a class
     that provides the functionality of RWLocaleSnapshot("C").

	      static const RWLocale&
	  global();

     Returns a reference to the present global "default" locale.

	      const RWLocale*
	  defaultLocale();

     Returns a pointer to a new instance of either RWLocaleSnapshot("C"); or
     another class that provides the same behavior for compilers that don't
     fully support Standard C locales.

									Page 7

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net