00001 #ifndef __AIStringFormatUtils__
00002 #define __AIStringFormatUtils__
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030 #include "IAIStringFormatUtils.h"
00031
00032 #include "AIHeaderBegin.h"
00033
00036
00037
00038
00039
00040
00041
00042 #define kAIStringFormatUtilsSuite "AI String Format Utils Suite"
00043 #define kAIStringFormatUtilsSuiteVersion AIAPI_VERSION(3)
00044 #define kAIStringFormatUtilsVersion kAIStringFormatUtilsSuiteVersion
00045
00046
00047
00048
00049
00050
00051
00054 #define kCannotParseStringError 'NF!P'
00055
00056
00057
00058
00059
00060
00061
00062
00070 struct AIStringFormatUtilsSuite {
00071
00072
00073
00078 AIAPI AIErr (*GetLocaleString)(const ai::LocaleID id, ai::AutoBuffer<char>& locale);
00079
00084 AIAPI AIErr (*GetLocaleID)(const char* locale, ai::LocaleID& id );
00085
00086
00087
00088
00093 AIAPI AIErr (*Initialize) (ai::NumberFormat& format, const ai::LocaleID locale);
00094
00099 AIAPI AIErr (*InitializeDefaultInstance) (ai::NumberFormat& format);
00100
00107 AIAPI AIErr (*Copy) (ai::NumberFormat& format, const ai::NumberFormat& format2);
00108
00112 AIAPI AIErr (*Destroy) (ai::NumberFormat& format);
00113
00114
00115
00126 AIAPI AIErr (*RealToString) (ai::NumberFormat& format, const float value, const ai::int32 precision,
00127 AIBoolean padToPrecision, ai::UnicodeString& str);
00128
00134 AIAPI AIErr (*IntegerToString) (ai::NumberFormat& format, const ai::int32 value, ai::UnicodeString& str);
00135
00146 AIAPI AIErr (*DoubleToString) (ai::NumberFormat& format, const double value, const ai::int32 precision,
00147 AIBoolean padToPrecision, ai::UnicodeString& str);
00148
00156 AIAPI AIErr (*StringToReal) (ai::NumberFormat& format, const ai::UnicodeString& str, float& value);
00157
00165 AIAPI AIErr (*StringToInteger) (ai::NumberFormat& format, const ai::UnicodeString& str, ai::int32& value);
00166
00174 AIAPI AIErr (*StringToDouble) (ai::NumberFormat& format, const ai::UnicodeString& str, double& value);
00175
00180 AIAPI AIErr (*GetDecimalSeparator) (ai::NumberFormat& format, ai::UnicodeString& str);
00181
00186 AIAPI AIErr (*GetThousandsSeparator) (ai::NumberFormat& format, ai::UnicodeString& str);
00187 };
00188
00189
00190 #include "AIHeaderEnd.h"
00191
00192
00193
00194 #endif // __AIStringFormatUtils__