Created on 2011-02-14.00:00:00 last changed 130 months ago
Proposed resolution:
Modify [locale.messages]:
namespace std { class messages_base { public: typedefintunspecified signed integer type catalog; }; ... }
[ 2011-03-24 Madrid meeting ]
Consensus that this resolution is the direction we would like to see.
[ 2011-03-02: Daniel updates the proposed wording, changing unspecified signed integral type to unspecified signed integer type (We don't want to allow for bool or char) ]
[ 2011-02-24: Chris Jefferson updates the proposed wording, changing unspecified to unspecified signed integral type ]
In [locale.messages], messages_base::catalog is specified to be a typedef to int. This type is subsequently used to open, access and close catalogs.
However, an OS may have catalog/messaging services that are indexed and managed by types other than int. For example POSIX, publishes the following messaging API:
typedef unspecified nl_catd; nl_catd catopen(const char* name , int oflag); char* catgets(nl_catd catd, int set_id, int msg_id, const char* s); int catclose(nl_catd catd);
I.e., the catalog is managed with an unspecified type, not necessarily an int. Mac OS uses a void* for nl_catd (which is conforming to the POSIX standard). The current messages_base spec effectively outlaws using the built-in OS messaging service supplied for this very purpose!
History | |||
---|---|---|---|
Date | User | Action | Args |
2014-02-20 13:20:35 | admin | set | status: wp -> c++14 |
2012-02-12 18:36:43 | admin | set | status: voting -> wp |
2012-02-09 04:07:48 | admin | set | status: ready -> voting |
2011-09-06 13:05:28 | admin | set | status: voting -> ready |
2011-08-16 10:45:53 | admin | set | status: ready -> voting |
2011-03-24 16:58:37 | admin | set | messages: + msg5690 |
2011-03-24 16:58:37 | admin | set | status: new -> ready |
2011-03-02 23:24:12 | admin | set | messages: + msg5570 |
2011-02-24 21:52:13 | admin | set | messages: + msg5541 |
2011-02-14 18:18:25 | admin | set | messages: + msg5485 |
2011-02-14 00:00:00 | admin | create |