Automatic generation produced by ISE Eiffel
note description: "[ Object that allows parsing formatting strings, as defined in the POSIX standard ]" legal: "See notice at end of class." status: "See notice at end of class." date: "$Date: 2013-05-20 15:15:17 -0800 (Mon, 20 May 2013) $" revision: "$Revision: 92557 $" class interface I18N_FORMAT_STRING_PARSER create make (a_locale_info: I18N_LOCALE_INFO) -- Creation procedure require a_locale_info_exists: a_locale_info /= Void feature -- Access generating_type: TYPE [detachable I18N_FORMAT_STRING_PARSER] -- Type of current object -- (type of which it is a direct instance) -- (from ANY) ensure -- from ANY generating_type_not_void: Result /= Void generator: STRING_8 -- Name of current object's generating class -- (base class of the type of which it is a direct instance) -- (from ANY) ensure -- from ANY generator_not_void: Result /= Void generator_not_empty: not Result.is_empty feature -- Comparison frozen deep_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void -- or attached to isomorphic object structures? -- (from ANY) ensure -- from ANY instance_free: class shallow_implies_deep: standard_equal (a, b) implies Result both_or_none_void: (a = Void) implies (Result = (b = Void)) same_type: (Result and (a /= Void)) implies (b /= Void and then a.same_type (b)) symmetric: Result implies deep_equal (b, a) frozen equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached -- to objects considered equal? -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.is_equal (b)) frozen is_deep_equal alias "≡≡≡" (other: I18N_FORMAT_STRING_PARSER): BOOLEAN -- Are Current and other attached to isomorphic object structures? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY shallow_implies_deep: standard_is_equal (other) implies Result same_type: Result implies same_type (other) symmetric: Result implies other.is_deep_equal (Current) is_equal (other: I18N_FORMAT_STRING_PARSER): BOOLEAN -- Is other attached to an object considered -- equal to current object? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY symmetric: Result implies other ~ Current consistent: standard_is_equal (other) implies Result frozen standard_equal (a: detachable ANY; b: like arg #1): BOOLEAN -- Are a and b either both void or attached to -- field-by-field identical objects of the same type? -- Always uses default object comparison criterion. -- (from ANY) ensure -- from ANY instance_free: class definition: Result = (a = Void and b = Void) or else ((a /= Void and b /= Void) and then a.standard_is_equal (b)) frozen standard_is_equal alias "≜" (other: I18N_FORMAT_STRING_PARSER): BOOLEAN -- Is other attached to an object of the same type -- as current object, and field-by-field identical to it? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY same_type: Result implies same_type (other) symmetric: Result implies other.standard_is_equal (Current) feature -- Status report conforms_to (other: ANY): BOOLEAN -- Does type of current object conform to type -- of other (as per Eiffel: The Language, chapter 13)? -- (from ANY) require -- from ANY other_not_void: other /= Void same_type (other: ANY): BOOLEAN -- Is type of current object identical to type of other? -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY definition: Result = (conforms_to (other) and other.conforms_to (Current)) feature -- Duplication copy (other: I18N_FORMAT_STRING_PARSER) -- Update current object using fields of object attached -- to other, so as to yield equal objects. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_equal: Current ~ other frozen deep_copy (other: I18N_FORMAT_STRING_PARSER) -- Effect equivalent to that of: -- `copy` (other . `deep_twin`) -- (from ANY) require -- from ANY other_not_void: other /= Void ensure -- from ANY deep_equal: deep_equal (Current, other) frozen deep_twin: I18N_FORMAT_STRING_PARSER -- New object structure recursively duplicated from Current. -- (from ANY) ensure -- from ANY deep_twin_not_void: Result /= Void deep_equal: deep_equal (Current, Result) frozen standard_copy (other: I18N_FORMAT_STRING_PARSER) -- Copy every field of other onto corresponding field -- of current object. -- (from ANY) require -- from ANY other_not_void: other /= Void type_identity: same_type (other) ensure -- from ANY is_standard_equal: standard_is_equal (other) frozen standard_twin: I18N_FORMAT_STRING_PARSER -- New object field-by-field identical to other. -- Always uses default copying semantics. -- (from ANY) ensure -- from ANY standard_twin_not_void: Result /= Void equal: standard_equal (Result, Current) frozen twin: I18N_FORMAT_STRING_PARSER -- New object equal to Current -- `twin` calls `copy`; to change copying/twinning semantics, redefine `copy`. -- (from ANY) ensure -- from ANY twin_not_void: Result /= Void is_equal: Result ~ Current feature -- Basic operations frozen default: detachable I18N_FORMAT_STRING_PARSER -- Default value of object's type -- (from ANY) frozen default_pointer: POINTER -- Default value of type POINTER -- (Avoid the need to write p.`default` for -- some p of type POINTER.) -- (from ANY) ensure -- from ANY instance_free: class default_rescue -- Process exception for routines with no Rescue clause. -- (Default: do nothing.) -- (from ANY) frozen do_nothing -- Execute a null action. -- (from ANY) ensure -- from ANY instance_free: class feature -- Constants Abbreviated_day_name: CHARACTER_8 = 'a' -- Abbreviated day of the week -- (from I18N_FORMATTING_CHARACTERS) Abbreviated_month_name1: CHARACTER_8 = 'b' -- Abbreviated month name -- (from I18N_FORMATTING_CHARACTERS) Abbreviated_month_name2: CHARACTER_8 = 'h' -- Abbreviated month name -- (from I18N_FORMATTING_CHARACTERS) Am_pm_1: CHARACTER_8 = '8' -- One-character time marker string. (Am/pm -> a/p) -- (from I18N_FORMATTING_CHARACTERS) Am_pm_lowercase: CHARACTER_8 = '9' -- Multi-character time marker string Lowercase -- (from I18N_FORMATTING_CHARACTERS) Am_pm_time: CHARACTER_8 = 'r' -- The time in a.m. or p.m. notation. -- In the POSIX locale this is equivalent to &I:&M:&S &p -- (from I18N_FORMATTING_CHARACTERS) Am_pm_uppercase: CHARACTER_8 = 'P' -- Multi-character time marker string Uppercase -- (from I18N_FORMATTING_CHARACTERS) Century_number: CHARACTER_8 = 'C' -- The century number (year/100) as a 2-digit integer -- (from I18N_FORMATTING_CHARACTERS) Date_separator: CHARACTER_8 = '/' -- (from I18N_FORMATTING_CHARACTERS) Day_name: CHARACTER_8 = 'A' -- The full weekday name according to the current locale. -- (from I18N_FORMATTING_CHARACTERS) Day_of_month: CHARACTER_8 = 'e' --Day of the month as digits without leading zeros for single digit days. -- (from I18N_FORMATTING_CHARACTERS) Day_of_month_padded: CHARACTER_8 = 'd' -- The day of the month as a decimal number (range 01 to 31) -- (from I18N_FORMATTING_CHARACTERS) Day_of_week: CHARACTER_8 = 'u' -- The day of the week as a decimal, range 1 to 7, Monday being 1. -- (from I18N_FORMATTING_CHARACTERS) Day_of_week_0: CHARACTER_8 = 'w' -- The day of the week as a decimal, range 0 to 6, Sunday being 0. -- (from I18N_FORMATTING_CHARACTERS) Day_of_year: CHARACTER_8 = 'j' -- The day of the year as a decimal number (range 001 to 366). -- (from I18N_FORMATTING_CHARACTERS) Era: CHARACTER_8 = '3' -- Period/era string as specified by the CAL_SERASTRING value. -- (from I18N_FORMATTING_CHARACTERS) Hour_12: CHARACTER_8 = 'I' -- Hours without leading zeros for single-digit hours (12-hour clock). -- (from I18N_FORMATTING_CHARACTERS) Hour_12_padded: CHARACTER_8 = 'l' -- Hours with leading zeros for single-digit hours (12-hour clock). -- (from I18N_FORMATTING_CHARACTERS) Hour_24: CHARACTER_8 = 'k' -- Hours without leading zeros for single-digit hours (24-hour clock). -- (from I18N_FORMATTING_CHARACTERS) Hour_24_padded: CHARACTER_8 = 'H' -- Hours with leading zeros for single-digit hours (24-hour clock). -- (from I18N_FORMATTING_CHARACTERS) Iso_date: CHARACTER_8 = 'F' -- Equivalent to &Y-&m-&d (the ISO 8601 date format). -- (from I18N_FORMATTING_CHARACTERS) Iso_year_with_century: CHARACTER_8 = 'G' -- The ISO 8601 year with century as a decimal number. -- (from I18N_FORMATTING_CHARACTERS) Iso_year_without_century: CHARACTER_8 = 'g' -- The ISO 8601 year with century as a decimal number, but without century, -- i.e., with a 2-digit year (00-99). -- (from I18N_FORMATTING_CHARACTERS) Local_date: CHARACTER_8 = 'x' -- The preferred date representation for the current locale without the time. -- (from I18N_FORMATTING_CHARACTERS) Local_date_time: CHARACTER_8 = 'c' -- The preferred date and time representation for the current locale. -- (from I18N_FORMATTING_CHARACTERS) Locale_time: CHARACTER_8 = 'X' -- The preferred time representation for the current locale without the date. -- (from I18N_FORMATTING_CHARACTERS) Minutes: CHARACTER_8 = '4' -- Minutes without leading zeros for single-digit minutes. -- (from I18N_FORMATTING_CHARACTERS) Minutes_padded: CHARACTER_8 = 'M' -- The minute as a decimal number (range 00 to 59) -- (from I18N_FORMATTING_CHARACTERS) Month: CHARACTER_8 = '1' -- Month as digits without leading zeros for single digit months. -- (from I18N_FORMATTING_CHARACTERS) Month_name: CHARACTER_8 = 'B' -- Month full name -- (from I18N_FORMATTING_CHARACTERS) Month_padded: CHARACTER_8 = 'm' -- The month as a decimal number (range 01 to 12). -- (from I18N_FORMATTING_CHARACTERS) New_line: CHARACTER_8 = 'n' -- New line character -- (from I18N_FORMATTING_CHARACTERS) Seconds: CHARACTER_8 = 'S' -- Seconds without leading zeros for single-digit seconds. -- (from I18N_FORMATTING_CHARACTERS) Seconds_padded: CHARACTER_8 = '5' -- The second as a decimal number (range 00 to 60). -- (from I18N_FORMATTING_CHARACTERS) Short_time_24h: CHARACTER_8 = 'R' -- The time in 24-hour notation (&H:&M) -- (from I18N_FORMATTING_CHARACTERS) Tab: CHARACTER_8 = 't' -- Insert a Tab -- (from I18N_FORMATTING_CHARACTERS) Time_24h: CHARACTER_8 = 'T' -- The time in 24-hour notation (&H:&M:&S). -- (from I18N_FORMATTING_CHARACTERS) Time_separator: CHARACTER_8 = ':' -- (from I18N_FORMATTING_CHARACTERS) Time_zone_name: CHARACTER_8 = 'Z' -- The time zone or name or abbreviation. -- (from I18N_FORMATTING_CHARACTERS) Time_zone_offset: CHARACTER_8 = 'z' -- Time zone as hour offeset from GMT (Required to emit RFC 822-conformant -- dates (using "&a, &d &b &Y &H:&M:&S &z")) -- (from I18N_FORMATTING_CHARACTERS) Usa_date: CHARACTER_8 = 'D' -- Equivalent to &m/&d/&y. (Yecch for Americans only. -- (from I18N_FORMATTING_CHARACTERS) Week_number_iso: CHARACTER_8 = 'V' -- The ISO 8601:1988 week number of the current year as a decimal number, -- range 01 to 53, where week 1 is the first -- (from I18N_FORMATTING_CHARACTERS) Week_number_monday_as_first: CHARACTER_8 = 'W' -- The week number of the current year as a decimal number, range 00 to 53, -- starting with the first Monday as the first day of week 01 -- (from I18N_FORMATTING_CHARACTERS) Week_number_sunday_as_first: CHARACTER_8 = 'U' -- The week number of the current year as a decimal number, range 00 to 53, -- starting with the first Sunday as the first -- (from I18N_FORMATTING_CHARACTERS) Year_1: CHARACTER_8 = '2' -- Year represented only by the last digit. -- (from I18N_FORMATTING_CHARACTERS) Year_2: CHARACTER_8 = 'y' -- The year as a decimal number without a century (range 00 to 99). -- (from I18N_FORMATTING_CHARACTERS) Year_4: CHARACTER_8 = 'Y' -- Year represented by full four or five digits, depending on the calendar used. -- (from I18N_FORMATTING_CHARACTERS) feature -- Date related actions abbreviated_day_name_action (a_date: DATE; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns the abbreviated day name -- associated to formatting character `abbreviated_day_name` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void abbreviated_month_name_action (a_date: DATE; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns the abbreviated month name -- associated to formatting character abbreviated_month_name -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void century_number_action (a_date: DATE): STRING_32 -- Returns the century number (year/100) as a 2-digit integer -- associated to formatting character `century_number` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_name_action (a_date: DATE; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns the abbreviated day name -- associated to formatting character `day_name` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_of_month_action (a_date: DATE): STRING_32 -- Returns day of the month as digits without -- leading zeros for single digit days. -- associated to formatting character `day_of_month` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_of_month_padded_action (a_date: DATE): STRING_32 -- Returns the day of the month as a decimal number (range 01 to 31) -- associated to formatting character `day_of_month_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_of_week_0_action (a_date: DATE): STRING_32 -- Returns the day of the week as a decimal, -- range 0 to 6, Sunday being 0. -- associated to formatting character `day_of_week_0` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_of_week_action (a_date: DATE): STRING_32 -- Retunr the fay of the weel as a decimal number, -- range 1 to 7, Monday being 1 -- associated to formatting character `day_of_week` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void day_of_year_action (a_date: DATE): STRING_32 -- Returns the day of the year as a decimal number (range 001 366) -- associated to formatting character `day_of_year` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void iso_year_with_century_action (a_date: DATE): STRING_32 -- Same result as Year_4_action -- associated to formatting character `iso_year_with_century` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void iso_year_without_century_action (a_date: DATE): STRING_32 -- Same result as Year_2_action -- associated to formatting character `iso_year_without_century` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void month_action (a_date: DATE): STRING_32 -- Returns month as digits without leading zeros for single digit months. -- associated to formatting character `month` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void month_name_action (a_date: DATE; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns the full month name -- associated to formatting character `month_name` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void month_padded_action (a_date: DATE): STRING_32 -- Returns the month as a decimal number (range 01 to 12). -- associated to formatting character `month_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void week_number_iso_action (a_date: DATE): STRING_32 -- Returns the ISO 8601:1988 week number of the current year as a decimal number, -- range 01 to 53, where week 1 is the first -- associated to formatting character `week_number_iso` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void week_number_monday_as_first_action (a_date: DATE): STRING_32 -- Not supported, result is the same as `week_number_sunday_as_first_action` -- associated to formatting character week_number_monday -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void week_number_sunday_as_first_action (a_date: DATE): STRING_32 -- Returns the week number of the current year as a decimal number, range 00 to 53, -- starting with the first Monday as the first day of week 01 -- associated to formatting character week_number_sunday -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void year_1_action (a_date: DATE): STRING_32 -- Year represented only by the last digit. -- associated to formatting character `year_1` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void correct_lenght: Result.count = 1 year_2_action (a_date: DATE): STRING_32 -- Returns the year as a decimal number without a century (range 00 to 99). -- associated to formatting character `year_2` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void correct_lenght: Result.count = 2 year_4_action (a_date: DATE): STRING_32 -- Returns the Year represented by full four or five digits, depending on the calendar used. -- associated to formatting character `year_4` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_date_exists: a_date /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void feature -- Modified Characters with &E Modified_base_year_name: CHARACTER_8 = 'C' -- Replaced by the name of the base year (period) in the locale's alternative representation. -- (from I18N_FORMATTING_CHARACTERS) Modified_base_year_offset: CHARACTER_8 = 'y' -- Replaced by the offset from &EC (year only) in the locale's alternative representation. -- (from I18N_FORMATTING_CHARACTERS) Modified_date: CHARACTER_8 = 'x' -- Replaced by the locale's alternative date representation. -- (from I18N_FORMATTING_CHARACTERS) Modified_date_time: CHARACTER_8 = 'c' -- Replaced by the locale's alternative appropriate date and time representation. -- (from I18N_FORMATTING_CHARACTERS) Modified_time: CHARACTER_8 = 'X' -- Replaced by the locale's alternative time representation. -- (from I18N_FORMATTING_CHARACTERS) Modified_year: CHARACTER_8 = 'Y' -- Replaced by the full alternative year representation. -- (from I18N_FORMATTING_CHARACTERS) Modifier_character_1: CHARACTER_8 = 'E' -- (from I18N_FORMATTING_CHARACTERS) feature -- Modified Characters with &O Escape_character: CHARACTER_8 = '&' -- escape character (to avoid character interpretation) -- (from I18N_FORMATTING_CHARACTERS) Modified_day_of_month_0_padded: CHARACTER_8 = 'd' -- Replaced by the day of the month, using the locale's alternative numeric symbols, -- filled as needed with leading zeros if there is any alternative symbol for zero; -- otherwise, with leading spaces. -- (from I18N_FORMATTING_CHARACTERS) Modified_day_of_month_space_padded: CHARACTER_8 = 'e' -- Replaced by the day of the month, using the locale's alternative numeric symbols, -- filled as needed with leading spaces. -- (from I18N_FORMATTING_CHARACTERS) Modified_era: CHARACTER_8 = 'y' -- Replaced by the year (offset from &C ) using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_minutes: CHARACTER_8 = 'M' -- Replaced by the minutes using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_month: CHARACTER_8 = 'm' -- Replaced by the month using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_seconds: CHARACTER_8 = 'S' -- Replaced by the seconds using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_time_12h: CHARACTER_8 = 'I' -- Replaced by the hour (12-hour clock) using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_time_24h: CHARACTER_8 = 'H' -- Replaced by the hour (24-hour clock) using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_week_number: CHARACTER_8 = 'U' -- Replaced by the week number of the year -- (Sunday as the first day of the week, rules corresponding to &U ) -- using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_week_number_monday_as_first_1: CHARACTER_8 = 'V' -- Replaced by the week number of the year (Monday as the first day of the week, -- rules corresponding to &V ) using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_week_number_monday_as_first_2: CHARACTER_8 = 'W' -- Replaced by the week number of the year (Monday as the first day of the week) -- using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_week_number_sunday_as_first: CHARACTER_8 = 'w' -- Replaced by the number of the weekday (Sunday=0) using the locale's alternative numeric symbols. -- (from I18N_FORMATTING_CHARACTERS) Modified_weekday: CHARACTER_8 = 'u' -- Replaced by the weekday as a number in the locale's alternative representation (Monday=1). -- (from I18N_FORMATTING_CHARACTERS) Modifier_character_2: CHARACTER_8 = 'O' -- (from I18N_FORMATTING_CHARACTERS) feature -- Output Io: STD_FILES -- Handle to standard file setup -- (from ANY) ensure -- from ANY instance_free: class io_not_void: Result /= Void out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY out_not_void: Result /= Void print (o: detachable ANY) -- Write terse external representation of o -- on standard output. -- (from ANY) ensure -- from ANY instance_free: class frozen tagged_out: STRING_8 -- New string containing terse printable representation -- of current object -- (from ANY) ensure -- from ANY tagged_out_not_void: Result /= Void feature -- Parser make (a_locale_info: I18N_LOCALE_INFO) -- Creation procedure require a_locale_info_exists: a_locale_info /= Void parse (a_string: READABLE_STRING_GENERAL): LINKED_LIST [I18N_FORMATTING_ELEMENT] -- parse a_string, for every format character, create -- appropriate formatting_element and put it in the list -- returned as result require a_string_exists: a_string /= Void ensure result_exists: Result /= Void feature -- Platform Operating_environment: OPERATING_ENVIRONMENT -- Objects available from the operating system -- (from ANY) ensure -- from ANY instance_free: class operating_environment_not_void: Result /= Void feature -- Shared object Fu: I18N_FORMATTING_UTILITY -- fu: formatting utility -- (from SHARED_I18N_FORMATTING_UTILITY) feature -- Time related actions am_pm_1_action (a_time: TIME): STRING_32 -- Returns one-character time marker string. (Am/pm -> a/p) -- associated to formatting character `am_pm_1` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void correct_result: (a_time.hour <= 12 implies Result.same_string_general ("a")) xor (a_time.hour > 12 implies Result.same_string_general ("p")) am_pm_lowercase_action (a_time: TIME; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns multi-character time marker string Lowercase -- associated to formatting character `am_pm_lowercase` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void is_lower: Result.is_valid_as_string_8 implies Result.as_lower.is_equal (Result) am_pm_uppercase_action (a_time: TIME; a_locale_info: I18N_LOCALE_INFO): STRING_32 -- Returns multi-character time marker string (Uppercase) -- associated to formatting character `am_pm_uppercase` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void a_locale_info_exists: a_locale_info /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void is_upper: Result.is_valid_as_string_8 implies Result.as_upper.is_equal (Result) hour_12_action (a_time: TIME): STRING_32 -- Returns Hours without leading zeros -- for single-digit hours (12-hour clock). -- associated to formatting character `hour_12` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void hour_12_padded_action (a_time: TIME): STRING_32 -- Returns Hours with leading zeros for -- single-digit hours (12-hour clock). -- associated to formatting character `hour_12_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void hour_24_action (a_time: TIME): STRING_32 -- Returns Hours without leading zeros -- for single-digit hours (24-hour clock) -- associated to formatting character `hour_24` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void hour_24_padded_action (a_time: TIME): STRING_32 -- Returns Hours with leading zeros -- for single-digit hours (24-hour clock) -- associated to `' -- associated to formatting character `hour_24_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void minutes_action (a_time: TIME): STRING_32 -- Returns Minutes without leading -- zeros for single-digit minutes. -- associated to formatting character `minutes` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void minutes_padded_action (a_time: TIME): STRING_32 -- Returns the minute as a decimal number -- with leading zeros for single-digit minutes. -- associated to formatting character `minutes_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void seconds_action (a_time: TIME): STRING_32 -- Returns seconds without leading zeros for single-digit seconds. -- associated to formatting character `seconds` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void seconds_padded_action (a_time: TIME): STRING_32 -- Returns seconds with leading zeros for single-digit seconds. -- associated to formatting character `seconds_padded` -- (from I18N_FORMATTING_ACTIONS) require -- from I18N_FORMATTING_ACTIONS a_time_exists: a_time /= Void ensure -- from I18N_FORMATTING_ACTIONS result_exists: Result /= Void invariant locale_info_exists: locale_info /= Void -- from ANY reflexive_equality: standard_is_equal (Current) reflexive_conformance: conforms_to (Current) note library: "Internationalization library" copyright: "Copyright (c) 1984-2009, Eiffel Software and others" license: "Eiffel Forum License v2 (see http://www.eiffel.com/licensing/forum.txt)" source: "[ Eiffel Software 5949 Hollister Ave., Goleta, CA 93117 USA Telephone 805-685-1006, Fax 805-685-6869 Website http://www.eiffel.com Customer support http://support.eiffel.com ]" end -- class I18N_FORMAT_STRING_PARSER -- Generated by Eiffel Studio --
For more details: eiffel.org