Movatterモバイル変換


[0]ホーム

URL:



This page is a snapshot from the LWG issues list, see theLibrary Active Issues List for more information and the meaning ofC++14 status.

2028.messages_base::catalog overspecified

Section: 28.3.4.8.2[locale.messages]Status:C++14Submitter: Howard HinnantOpened: 2011-02-14Last modified: 2016-01-28

Priority:Not Prioritized

View all issues withC++14 status.

Discussion:

In 28.3.4.8.2[locale.messages],messages_base::catalog is specified to be a typedef toint. 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 thanint. For examplePOSIX, publishes thefollowing messaging API:

typedefunspecified 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 anint. Mac OS uses avoid* fornl_catd (which is conforming to thePOSIX standard). The currentmessages_base spec effectively outlaws using the built-in OS messaging service supplied for this very purpose!

[2011-02-24: Chris Jefferson updates the proposed wording, changingunspecified tounspecified signed integral type]

[2011-03-02: Daniel updates the proposed wording, changingunspecified signed integral type tounspecified signed integer type (We don't want to allow forbool orchar)]

[2011-03-24 Madrid meeting]

Consensus that this resolution is the direction we would like to see.

Proposed resolution:

  1. Modify 28.3.4.8.2[locale.messages]:

    namespace std {  class messages_base {  public:    typedefintunspecified signed integer type catalog;  };  ...}

[8]ページ先頭

©2009-2026 Movatter.jp