home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / stlpt453.zip / STLport-4.5.3 / src / c_locale_stub.cpp < prev    next >
C/C++ Source or Header  |  2001-11-14  |  10KB  |  279 lines

  1. /*
  2.  * Copyright (c) 1999
  3.  * Silicon Graphics Computer Systems, Inc.
  4.  *
  5.  * Copyright (c) 1999 
  6.  * Boris Fomitchev
  7.  *
  8.  * This material is provided "as is", with absolutely no warranty expressed
  9.  * or implied. Any use is at your own risk.
  10.  *
  11.  * Permission to use or copy this software for any purpose is hereby granted 
  12.  * without fee, provided the above notices are retained on all copies.
  13.  * Permission to modify the code and to distribute modified code is granted,
  14.  * provided the above notices are retained, and a notice that the code was
  15.  * modified is included with the above copyright notice.
  16.  *
  17.  */ 
  18. # include "stlport_prefix.h"
  19. #include "c_locale.h"
  20. #include <limits.h>
  21.  
  22. # ifdef _STLP_REAL_LOCALE_IMPLEMENTED
  23.  
  24. // here, we'll put C locale implementation for those compilers where
  25. // it has to be done in C++
  26.  
  27. # else
  28.  
  29. /* This is a "stub" implementation of the "c_locale.h" interface,
  30.    intended for operating systems where we have not yet written
  31.    a real implementation.  A C++ library using this stub implementation
  32.    is still standard-conforming, since the C++ standard does not require
  33.    that any locales other than "C" be supported.
  34. */
  35.  
  36. /* Framework functions */
  37.  
  38. struct _Locale_ctype    /* { } */ ;
  39. struct _Locale_numeric  /* { } */;
  40. struct _Locale_time      /* { } */;
  41. struct _Locale_collate   /*{ } */;
  42. struct _Locale_monetary  /* { } */;
  43. struct _Locale_messages  /* { } */;
  44.  
  45. # ifdef __cplusplus
  46. _STLP_BEGIN_NAMESPACE
  47. extern "C" {
  48. # define __DUMMY_PAR
  49. # define __DUMMY_PAR1
  50. # define __DUMMY_PAR2
  51. # define __DUMMY_PAR3
  52. # define __DUMMY_PAR4
  53. # define __DUMMY_PAR5
  54. # define __DUMMY_PAR6
  55. # define __DUMMY_PAR7
  56. # endif
  57.     
  58.  void* _Locale_ctype_create(const char * __DUMMY_PAR)
  59.   { return 0; }
  60.  void* _Locale_numeric_create(const char * __DUMMY_PAR)
  61.   { return 0; }
  62.  void*_Locale_time_create(const char * __DUMMY_PAR)
  63.   { return 0; }
  64.  void* _Locale_collate_create(const char *__DUMMY_PAR)
  65.   { return 0; }
  66.  void* _Locale_monetary_create(const char * __DUMMY_PAR)
  67.   { return 0; }
  68.  void* _Locale_messages_create(const char *__DUMMY_PAR)
  69.   { return 0; }
  70.  
  71.  const char* _Locale_ctype_default(char*)    { return 0; }
  72.  const char* _Locale_numeric_default(char *) { return 0; }
  73.  const char* _Locale_time_default(char*)     { return 0; }
  74.  const char* _Locale_collate_default(char*)  { return 0; }
  75.  const char* _Locale_monetary_default(char*) { return 0; }
  76.  const char* _Locale_messages_default(char*) { return 0; }
  77.  
  78.  char* _Locale_ctype_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  79.   { return 0; }
  80.  char* _Locale_numeric_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  81.   { return 0; }
  82.  char* _Locale_time_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  83.   { return 0; }
  84.  char* _Locale_collate_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  85.   { return 0; }
  86.  char* _Locale_monetary_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  87.   { return 0; }
  88.  char* _Locale_messages_name(const void* __DUMMY_PAR1, char* __DUMMY_PAR)
  89.   { return 0; }
  90.  
  91.  void _Locale_ctype_destroy(void* __DUMMY_PAR)    {}
  92.  void _Locale_numeric_destroy(void* __DUMMY_PAR)  {}
  93.  void _Locale_time_destroy(void* __DUMMY_PAR)     {}
  94.  void _Locale_collate_destroy(void* __DUMMY_PAR)  {}
  95.  void _Locale_monetary_destroy(void* __DUMMY_PAR) {}
  96.  void _Locale_messages_destroy(void* __DUMMY_PAR) {}
  97.  
  98.  char* _Locale_extract_ctype_name(const char* __DUMMY_PAR1, char* __DUMMY_PAR) 
  99.   { return 0; }
  100.  char* _Locale_extract_numeric_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR) 
  101.   { return 0; }
  102.  char* _Locale_extract_time_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR) 
  103.   { return 0; }
  104.  char* _Locale_extract_collate_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR) 
  105.   { return 0; }
  106.  char* _Locale_extract_monetary_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR) 
  107.   { return 0; }
  108.  char* _Locale_extract_messages_name(const char*__DUMMY_PAR1, char* __DUMMY_PAR) 
  109.   { return 0; }
  110.  
  111.  char* _Locale_compose_name(char*__DUMMY_PAR1, const char*__DUMMY_PAR2, const char*__DUMMY_PAR3,
  112.                             const char*__DUMMY_PAR4,
  113.                             const char*__DUMMY_PAR5, const char*__DUMMY_PAR6, const char*__DUMMY_PAR7)
  114.   { return 0; }
  115.  
  116.  
  117. /* ctype */
  118.  
  119.  _Locale_mask_t* _Locale_ctype_table(struct _Locale_ctype* __DUMMY_PAR)
  120.   { return 0; }
  121.  int _Locale_toupper(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
  122.  int _Locale_tolower(struct _Locale_ctype*__DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
  123.  
  124. # ifndef _STLP_NO_WCHAR_T
  125.  _Locale_mask_t _Locale_wchar_ctype(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR)
  126.   { return 0; }
  127.  wint_t _Locale_wchar_tolower(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR)
  128.   { return 0; }
  129.  wint_t _Locale_wchar_toupper(struct _Locale_ctype*__DUMMY_PAR1, wint_t __DUMMY_PAR)
  130.   { return 0; }
  131. # endif
  132.  
  133. # ifndef _STLP_NO_MBSTATE_T
  134.  
  135.  int _Locale_mb_cur_max (struct _Locale_ctype * __DUMMY_PAR) { return 0; }
  136.  int _Locale_mb_cur_min (struct _Locale_ctype * __DUMMY_PAR) { return 0; }
  137.  int _Locale_is_stateless (struct _Locale_ctype * __DUMMY_PAR) { return 1; }
  138. #ifndef _STLP_NO_WCHAR_T
  139.  wint_t _Locale_btowc(struct _Locale_ctype * __DUMMY_PAR1, int __DUMMY_PAR) { return 0; }
  140.  int _Locale_wctob(struct _Locale_ctype * __DUMMY_PAR2, wint_t __DUMMY_PAR) { return 0; }
  141.  
  142.  size_t _Locale_mbtowc(struct _Locale_ctype *__DUMMY_PAR1,
  143.                                  wchar_t *__DUMMY_PAR2,
  144.                                  const char *__DUMMY_PAR3, size_t __DUMMY_PAR4,
  145.                                  mbstate_t *__DUMMY_PAR5) {
  146.   return (size_t) -1; 
  147. }
  148.  size_t _Locale_wctomb(struct _Locale_ctype *__DUMMY_PAR1,
  149.                                  char *__DUMMY_PAR2, size_t __DUMMY_PAR3,
  150.                                  const wchar_t __DUMMY_PAR4,
  151.                                  mbstate_t *__DUMMY_PAR5) {
  152.   return (size_t) -1;
  153. }
  154. # endif
  155.  
  156.  size_t _Locale_unshift(struct _Locale_ctype *__DUMMY_PAR1,
  157.                                   mbstate_t *__DUMMY_PAR2,
  158.                                   char *__DUMMY_PAR3, size_t __DUMMY_PAR4, char ** __DUMMY_PAR5) {
  159.   return (size_t) -1;
  160. }
  161.  
  162. # endif /*  _STLP_NO_MBSTATE_T */
  163.  
  164.  
  165. /* Collate */
  166.  int _Locale_strcmp(struct _Locale_collate* __DUMMY_PAR1,
  167.                     const char* __DUMMY_PAR2, size_t __DUMMY_PAR3, const char* __DUMMY_PAR4,
  168.                     size_t __DUMMY_PAR5) {
  169.   return 0;
  170. }
  171.  
  172. # ifndef _STLP_NO_WCHAR_T
  173.  
  174.  int _Locale_strwcmp(struct _Locale_collate* __DUMMY_PAR1,
  175.                      const wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3,
  176.                      const wchar_t* __DUMMY_PAR4, size_t __DUMMY_PAR5) {
  177.   return 0;
  178. }
  179.  
  180. # endif
  181.  
  182.  size_t _Locale_strxfrm(struct _Locale_collate* __DUMMY_PAR1,
  183.                         char* __DUMMY_PAR2, size_t __DUMMY_PAR3,
  184.                         const char* __DUMMY_PAR4, size_t __DUMMY_PAR5) {
  185.   return 0;
  186. }
  187.  
  188. # ifndef _STLP_NO_WCHAR_T
  189.  
  190.   size_t _Locale_strwxfrm(struct _Locale_collate* __DUMMY_PAR1,
  191.                           wchar_t* __DUMMY_PAR2, size_t __DUMMY_PAR3,
  192.                           const wchar_t* __DUMMY_PAR4, size_t __DUMMY_PAR5)
  193. {
  194.   return 0;
  195. }
  196.  
  197. # endif
  198.  
  199. /* Numeric */
  200.  
  201.  char _Locale_decimal_point(struct _Locale_numeric* __DUMMY_PAR) { return '.'; }
  202.  char _Locale_thousands_sep(struct _Locale_numeric* __DUMMY_PAR) { return ','; }
  203.  const char* _Locale_grouping(struct _Locale_numeric * __DUMMY_PAR) 
  204.   { return ""; }
  205.  
  206.  const char * _Locale_true(struct _Locale_numeric * __DUMMY_PAR)  { return 0; }
  207.  const char * _Locale_false(struct _Locale_numeric * __DUMMY_PAR) { return 0; }
  208.  
  209.  
  210. /* Monetary */
  211.  
  212.  const char* _Locale_int_curr_symbol(struct _Locale_monetary * __DUMMY_PAR)
  213.   { return 0; }
  214.  const char* _Locale_currency_symbol(struct _Locale_monetary * __DUMMY_PAR)
  215.   { return 0; }
  216.  char        _Locale_mon_decimal_point(struct _Locale_monetary * __DUMMY_PAR)
  217.   { return '.'; }
  218.  char        _Locale_mon_thousands_sep(struct _Locale_monetary * __DUMMY_PAR)
  219.   { return ','; }
  220.  const char* _Locale_mon_grouping(struct _Locale_monetary * __DUMMY_PAR)
  221.   { return ""; }
  222.  const char* _Locale_positive_sign(struct _Locale_monetary * __DUMMY_PAR)
  223.   { return ""; }
  224.  const char* _Locale_negative_sign(struct _Locale_monetary * __DUMMY_PAR)
  225.   { return ""; }
  226.  char        _Locale_int_frac_digits(struct _Locale_monetary * __DUMMY_PAR)
  227.   { return CHAR_MAX; }
  228.  char        _Locale_frac_digits(struct _Locale_monetary * __DUMMY_PAR)
  229.   { return CHAR_MAX; }
  230.  int         _Locale_p_cs_precedes(struct _Locale_monetary * __DUMMY_PAR)
  231.   { return CHAR_MAX; }
  232.  int         _Locale_p_sep_by_space(struct _Locale_monetary * __DUMMY_PAR)
  233.   { return CHAR_MAX; }
  234.  int         _Locale_p_sign_posn(struct _Locale_monetary * __DUMMY_PAR)
  235.   { return CHAR_MAX; }
  236.  int         _Locale_n_cs_precedes(struct _Locale_monetary * __DUMMY_PAR)
  237.   { return CHAR_MAX; }
  238.  int          _Locale_n_sep_by_space(struct _Locale_monetary * __DUMMY_PAR)
  239.   { return CHAR_MAX; }
  240.  int          _Locale_n_sign_posn(struct _Locale_monetary * __DUMMY_PAR)
  241.   { return CHAR_MAX; }
  242.  
  243.  
  244. /* Time */
  245.  const char ** _Locale_full_monthname(struct _Locale_time * __DUMMY_PAR)
  246.   { return 0; }
  247.  const char ** _Locale_abbrev_monthname(struct _Locale_time * __DUMMY_PAR)
  248.   { return 0; }
  249.  const char ** _Locale_full_dayofweek(struct _Locale_time * __DUMMY_PAR)
  250.   { return 0; }
  251.  const char ** _Locale_abbrev_dayofweek(struct _Locale_time * __DUMMY_PAR)
  252.   { return 0; }
  253.  
  254.  const char* _Locale_d_t_fmt(struct _Locale_time* __DUMMY_PAR)    { return 0; }
  255.  const char* _Locale_d_fmt(struct _Locale_time* __DUMMY_PAR)      { return 0; }
  256.  const char* _Locale_t_fmt(struct _Locale_time* __DUMMY_PAR)      { return 0; }
  257.  const char* _Locale_long_d_t_fmt(struct _Locale_time* __DUMMY_PAR){ return 0; }
  258.  const char* _Locale_long_d_fmt(struct _Locale_time* __DUMMY_PAR)   { return 0; }
  259.  const char* _Locale_am_str(struct _Locale_time* __DUMMY_PAR)     { return 0; }
  260.  const char* _Locale_pm_str(struct _Locale_time* __DUMMY_PAR)     { return 0; }
  261.  const char* _Locale_t_fmt_ampm(struct _Locale_time* __DUMMY_PAR) { return 0; }
  262.  
  263. /* Messages */
  264.  
  265.  int _Locale_catopen(struct _Locale_messages* __DUMMY_PAR1, const char* __DUMMY_PAR)
  266.   { return -1; }
  267.  void _Locale_catclose(struct _Locale_messages* __DUMMY_PAR1, int __DUMMY_PAR) {}
  268.  const char* _Locale_catgets(struct _Locale_messages* __DUMMY_PAR1, int __DUMMY_PAR2,
  269.                                        int __DUMMY_PAR3, int __DUMMY_PAR4,
  270.                                        const char *dfault)
  271.   { return dfault; }
  272.  
  273. #ifdef __cplusplus    
  274. } /* extern C */
  275. _STLP_END_NAMESPACE
  276. #endif
  277.  
  278. #endif /* real locale */
  279.