Skip to content

Commit b81423b

Browse files
committed
Improve C++ stubs for locales
1 parent 8a8c33d commit b81423b

File tree

3 files changed

+58
-31
lines changed

3 files changed

+58
-31
lines changed

cpp/common/test/includes/standard-library/clocale

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
#pragma once
1+
#ifndef _GHLIBCPP_CLOCALE
2+
#define _GHLIBCPP_CLOCALE
23

34
#define NULL 0
45
#define LC_ALL 0
@@ -15,3 +16,5 @@ using ::lconv;
1516
using ::localeconv;
1617
using ::setlocale;
1718
} // namespace std
19+
20+
#endif // _GHLIBCPP_CLOCALE
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
2+
#ifndef _GHLIBCPP_LOCALE
3+
#define _GHLIBCPP_LOCALE
4+
5+
namespace std {
6+
7+
class locale {};
8+
9+
template <class charT> bool isspace(charT c, const locale &loc);
10+
template <class charT> bool isprint(charT c, const locale &loc);
11+
template <class charT> bool iscntrl(charT c, const locale &loc);
12+
template <class charT> bool isupper(charT c, const locale &loc);
13+
template <class charT> bool islower(charT c, const locale &loc);
14+
template <class charT> bool isalpha(charT c, const locale &loc);
15+
template <class charT> bool isdigit(charT c, const locale &loc);
16+
template <class charT> bool ispunct(charT c, const locale &loc);
17+
template <class charT> bool isxdigit(charT c, const locale &loc);
18+
template <class charT> bool isalnum(charT c, const locale &loc);
19+
template <class charT> bool isgraph(charT c, const locale &loc);
20+
template <class charT> bool isblank(charT c, const locale &loc);
21+
template <class charT> charT toupper(charT c, const locale &loc);
22+
template <class charT> charT tolower(charT c, const locale &loc);
23+
} // namespace std
24+
25+
#endif // _GHLIBCPP_LOCALE
Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,38 +1,37 @@
1-
#ifndef _GHLIBCPP_LOCALE
2-
#define _GHLIBCPP_LOCALE
1+
#ifndef _GHLIBCPP_LOCALE_H
2+
#define _GHLIBCPP_LOCALE_H
33

4-
#define LC_ALL 6
4+
#define LC_ALL 6
55

66
struct lconv {
7-
char *decimal_point;
8-
char *thousands_sep;
9-
char *grouping;
7+
char *decimal_point;
8+
char *thousands_sep;
9+
char *grouping;
1010

11-
char *int_curr_symbol;
12-
char *currency_symbol;
13-
char *mon_decimal_point;
14-
char *mon_thousands_sep;
15-
char *mon_grouping;
16-
char *positive_sign;
17-
char *negative_sign;
18-
char int_frac_digits;
19-
char frac_digits;
20-
char p_cs_precedes;
21-
char p_sep_by_space;
22-
char n_cs_precedes;
23-
char n_sep_by_space;
24-
char p_sign_posn;
25-
char n_sign_posn;
26-
char int_p_cs_precedes;
27-
char int_p_sep_by_space;
28-
char int_n_cs_precedes;
29-
char int_n_sep_by_space;
30-
char int_p_sign_posn;
31-
char int_n_sign_posn;
11+
char *int_curr_symbol;
12+
char *currency_symbol;
13+
char *mon_decimal_point;
14+
char *mon_thousands_sep;
15+
char *mon_grouping;
16+
char *positive_sign;
17+
char *negative_sign;
18+
char int_frac_digits;
19+
char frac_digits;
20+
char p_cs_precedes;
21+
char p_sep_by_space;
22+
char n_cs_precedes;
23+
char n_sep_by_space;
24+
char p_sign_posn;
25+
char n_sign_posn;
26+
char int_p_cs_precedes;
27+
char int_p_sep_by_space;
28+
char int_n_cs_precedes;
29+
char int_n_sep_by_space;
30+
char int_p_sign_posn;
31+
char int_n_sign_posn;
3232
};
3333

34-
35-
char *setlocale (int, const char *);
34+
char *setlocale(int, const char *);
3635
struct lconv *localeconv(void);
3736

38-
#endif // _GHLIBCPP_LOCALE
37+
#endif // _GHLIBCPP_LOCALE_H

0 commit comments

Comments
 (0)