ICU4C proposal: Remove #include "unicode/putil.h" from utypes.h

George Rhoten <[email protected]> Mon, 18 Oct 2004 09:48:24 -0700
Newsgroups gmane.comp.lib.icu.general
Message-ID <OF0996D53A.F4FBD952-ON86256F31.005AF87E-88256F31.005C4F1D@us.ibm.com>
This proposal addresses the issue of jitterbug 3805 
http://www.jtcsv.com/cgibin/icu-bugs/?findid=3805

The proposal is to remove the #include "unicode/putil.h" from 
unicode/utypes.h.  This is to remove the circular dependency between 
utypes.h and putil.h.  The stable APIs will remain in putil.h, but users 
will be required to add #include "unicode/putil.h" if they wish to use any 
of the functions in that header.

Such APIs in putil.h are the following:
u_getDataDirectory
u_setDataDirectory
u_charsToUChars
u_UCharsToChars
U_FILE_SEP_CHAR
U_FILE_ALT_SEP_CHAR
U_PATH_SEP_CHAR
U_FILE_SEP_STRING
U_FILE_ALT_SEP_STRING
U_PATH_SEP_STRING

Also as a warning, the internal functions in putil.h marked with @internal 
will be moving to an internal header.  This is to reduce some confusion 
about the internal functions.  Internal functions are not considered 
stable, and they may be removed or changed at any time.  Most of these 
functions start with "uprv_", which is the prefix for private functions.

Deadline for comments: October 25, 2004

George Rhoten
IBM Globalization Center of Competency/ICU  San José, CA, USA
ICU main website: http://oss.software.ibm.com/icu/index.html