Merge remote-tracking branch 'origin/master' into api_changes
[profile/ivi/qtbase.git] / src / corelib / tools / qlocale.h
1 /****************************************************************************
2 **
3 ** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
4 ** Contact: http://www.qt-project.org/
5 **
6 ** This file is part of the QtCore module of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:LGPL$
9 ** GNU Lesser General Public License Usage
10 ** This file may be used under the terms of the GNU Lesser General Public
11 ** License version 2.1 as published by the Free Software Foundation and
12 ** appearing in the file LICENSE.LGPL included in the packaging of this
13 ** file. Please review the following information to ensure the GNU Lesser
14 ** General Public License version 2.1 requirements will be met:
15 ** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
16 **
17 ** In addition, as a special exception, Nokia gives you certain additional
18 ** rights. These rights are described in the Nokia Qt LGPL Exception
19 ** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
20 **
21 ** GNU General Public License Usage
22 ** Alternatively, this file may be used under the terms of the GNU General
23 ** Public License version 3.0 as published by the Free Software Foundation
24 ** and appearing in the file LICENSE.GPL included in the packaging of this
25 ** file. Please review the following information to ensure the GNU General
26 ** Public License version 3.0 requirements will be met:
27 ** http://www.gnu.org/copyleft/gpl.html.
28 **
29 ** Other Usage
30 ** Alternatively, this file may be used in accordance with the terms and
31 ** conditions contained in a signed written agreement between you and Nokia.
32 **
33 **
34 **
35 **
36 **
37 **
38 ** $QT_END_LICENSE$
39 **
40 ****************************************************************************/
41
42 #ifndef QLOCALE_H
43 #define QLOCALE_H
44
45 #include <QtCore/qvariant.h>
46 #include <QtCore/qstring.h>
47 #include <QtCore/qobjectdefs.h>
48
49 QT_BEGIN_HEADER
50
51 QT_BEGIN_NAMESPACE
52
53
54 class QDataStream;
55 class QDate;
56 class QDateTime;
57 class QTime;
58 class QVariant;
59 class QTextStream;
60 class QTextStreamPrivate;
61
62 class QLocale;
63
64 struct QLocalePrivate;
65 class Q_CORE_EXPORT QLocale
66 {
67     Q_GADGET
68     Q_ENUMS(Language)
69     Q_ENUMS(Country)
70     friend class QString;
71     friend class QByteArray;
72     friend class QIntValidator;
73     friend class QDoubleValidatorPrivate;
74     friend class QTextStream;
75     friend class QTextStreamPrivate;
76
77 public:
78 // GENERATED PART STARTS HERE
79 // see qlocale_data_p.h for more info on generated data
80     enum Language {
81         AnyLanguage = 0,
82         C = 1,
83         Abkhazian = 2,
84         Afan = 3,
85         Afar = 4,
86         Afrikaans = 5,
87         Albanian = 6,
88         Amharic = 7,
89         Arabic = 8,
90         Armenian = 9,
91         Assamese = 10,
92         Aymara = 11,
93         Azerbaijani = 12,
94         Bashkir = 13,
95         Basque = 14,
96         Bengali = 15,
97         Bhutani = 16,
98         Bihari = 17,
99         Bislama = 18,
100         Breton = 19,
101         Bulgarian = 20,
102         Burmese = 21,
103         Byelorussian = 22,
104         Cambodian = 23,
105         Catalan = 24,
106         Chinese = 25,
107         Corsican = 26,
108         Croatian = 27,
109         Czech = 28,
110         Danish = 29,
111         Dutch = 30,
112         English = 31,
113         Esperanto = 32,
114         Estonian = 33,
115         Faroese = 34,
116         FijiLanguage = 35,
117         Finnish = 36,
118         French = 37,
119         Frisian = 38,
120         Gaelic = 39,
121         Galician = 40,
122         Georgian = 41,
123         German = 42,
124         Greek = 43,
125         Greenlandic = 44,
126         Guarani = 45,
127         Gujarati = 46,
128         Hausa = 47,
129         Hebrew = 48,
130         Hindi = 49,
131         Hungarian = 50,
132         Icelandic = 51,
133         Indonesian = 52,
134         Interlingua = 53,
135         Interlingue = 54,
136         Inuktitut = 55,
137         Inupiak = 56,
138         Irish = 57,
139         Italian = 58,
140         Japanese = 59,
141         Javanese = 60,
142         Kannada = 61,
143         Kashmiri = 62,
144         Kazakh = 63,
145         Kinyarwanda = 64,
146         Kirghiz = 65,
147         Korean = 66,
148         Kurdish = 67,
149         Kurundi = 68,
150         Laothian = 69,
151         Latin = 70,
152         Latvian = 71,
153         Lingala = 72,
154         Lithuanian = 73,
155         Macedonian = 74,
156         Malagasy = 75,
157         Malay = 76,
158         Malayalam = 77,
159         Maltese = 78,
160         Maori = 79,
161         Marathi = 80,
162         Moldavian = 81,
163         Mongolian = 82,
164         NauruLanguage = 83,
165         Nepali = 84,
166         Norwegian = 85,
167         Occitan = 86,
168         Oriya = 87,
169         Pashto = 88,
170         Persian = 89,
171         Polish = 90,
172         Portuguese = 91,
173         Punjabi = 92,
174         Quechua = 93,
175         RhaetoRomance = 94,
176         Romanian = 95,
177         Russian = 96,
178         Samoan = 97,
179         Sangho = 98,
180         Sanskrit = 99,
181         Serbian = 100,
182         SerboCroatian = 101,
183         Sesotho = 102,
184         Setswana = 103,
185         Shona = 104,
186         Sindhi = 105,
187         Singhalese = 106,
188         Siswati = 107,
189         Slovak = 108,
190         Slovenian = 109,
191         Somali = 110,
192         Spanish = 111,
193         Sundanese = 112,
194         Swahili = 113,
195         Swedish = 114,
196         Tagalog = 115,
197         Tajik = 116,
198         Tamil = 117,
199         Tatar = 118,
200         Telugu = 119,
201         Thai = 120,
202         Tibetan = 121,
203         Tigrinya = 122,
204         TongaLanguage = 123,
205         Tsonga = 124,
206         Turkish = 125,
207         Turkmen = 126,
208         Twi = 127,
209         Uigur = 128,
210         Ukrainian = 129,
211         Urdu = 130,
212         Uzbek = 131,
213         Vietnamese = 132,
214         Volapuk = 133,
215         Welsh = 134,
216         Wolof = 135,
217         Xhosa = 136,
218         Yiddish = 137,
219         Yoruba = 138,
220         Zhuang = 139,
221         Zulu = 140,
222         Nynorsk = 141,
223         Bosnian = 142,
224         Divehi = 143,
225         Manx = 144,
226         Cornish = 145,
227         Akan = 146,
228         Konkani = 147,
229         Ga = 148,
230         Igbo = 149,
231         Kamba = 150,
232         Syriac = 151,
233         Blin = 152,
234         Geez = 153,
235         Koro = 154,
236         Sidamo = 155,
237         Atsam = 156,
238         Tigre = 157,
239         Jju = 158,
240         Friulian = 159,
241         Venda = 160,
242         Ewe = 161,
243         Walamo = 162,
244         Hawaiian = 163,
245         Tyap = 164,
246         Chewa = 165,
247         Filipino = 166,
248         SwissGerman = 167,
249         SichuanYi = 168,
250         Kpelle = 169,
251         LowGerman = 170,
252         SouthNdebele = 171,
253         NorthernSotho = 172,
254         NorthernSami = 173,
255         Taroko = 174,
256         Gusii = 175,
257         Taita = 176,
258         Fulah = 177,
259         Kikuyu = 178,
260         Samburu = 179,
261         Sena = 180,
262         NorthNdebele = 181,
263         Rombo = 182,
264         Tachelhit = 183,
265         Kabyle = 184,
266         Nyankole = 185,
267         Bena = 186,
268         Vunjo = 187,
269         Bambara = 188,
270         Embu = 189,
271         Cherokee = 190,
272         Morisyen = 191,
273         Makonde = 192,
274         Langi = 193,
275         Ganda = 194,
276         Bemba = 195,
277         Kabuverdianu = 196,
278         Meru = 197,
279         Kalenjin = 198,
280         Nama = 199,
281         Machame = 200,
282         Colognian = 201,
283         Masai = 202,
284         Soga = 203,
285         Luyia = 204,
286         Asu = 205,
287         Teso = 206,
288         Saho = 207,
289         KoyraChiini = 208,
290         Rwa = 209,
291         Luo = 210,
292         Chiga = 211,
293         CentralMoroccoTamazight = 212,
294         KoyraboroSenni = 213,
295         Shambala = 214,
296         NorwegianBokmal = Norwegian,
297         NorwegianNynorsk = Nynorsk,
298         LastLanguage = Shambala
299     };
300
301     enum Script {
302         AnyScript = 0,
303         ArabicScript = 1,
304         CyrillicScript = 2,
305         DeseretScript = 3,
306         GurmukhiScript = 4,
307         SimplifiedHanScript = 5,
308         TraditionalHanScript = 6,
309         LatinScript = 7,
310         MongolianScript = 8,
311         TifinaghScript = 9,
312         SimplifiedChineseScript = SimplifiedHanScript,
313         TraditionalChineseScript = TraditionalHanScript,
314         LastScript = TifinaghScript
315     };
316     enum Country {
317         AnyCountry = 0,
318         Afghanistan = 1,
319         Albania = 2,
320         Algeria = 3,
321         AmericanSamoa = 4,
322         Andorra = 5,
323         Angola = 6,
324         Anguilla = 7,
325         Antarctica = 8,
326         AntiguaAndBarbuda = 9,
327         Argentina = 10,
328         Armenia = 11,
329         Aruba = 12,
330         Australia = 13,
331         Austria = 14,
332         Azerbaijan = 15,
333         Bahamas = 16,
334         Bahrain = 17,
335         Bangladesh = 18,
336         Barbados = 19,
337         Belarus = 20,
338         Belgium = 21,
339         Belize = 22,
340         Benin = 23,
341         Bermuda = 24,
342         Bhutan = 25,
343         Bolivia = 26,
344         BosniaAndHerzegowina = 27,
345         Botswana = 28,
346         BouvetIsland = 29,
347         Brazil = 30,
348         BritishIndianOceanTerritory = 31,
349         BruneiDarussalam = 32,
350         Bulgaria = 33,
351         BurkinaFaso = 34,
352         Burundi = 35,
353         Cambodia = 36,
354         Cameroon = 37,
355         Canada = 38,
356         CapeVerde = 39,
357         CaymanIslands = 40,
358         CentralAfricanRepublic = 41,
359         Chad = 42,
360         Chile = 43,
361         China = 44,
362         ChristmasIsland = 45,
363         CocosIslands = 46,
364         Colombia = 47,
365         Comoros = 48,
366         DemocraticRepublicOfCongo = 49,
367         PeoplesRepublicOfCongo = 50,
368         CookIslands = 51,
369         CostaRica = 52,
370         IvoryCoast = 53,
371         Croatia = 54,
372         Cuba = 55,
373         Cyprus = 56,
374         CzechRepublic = 57,
375         Denmark = 58,
376         Djibouti = 59,
377         Dominica = 60,
378         DominicanRepublic = 61,
379         EastTimor = 62,
380         Ecuador = 63,
381         Egypt = 64,
382         ElSalvador = 65,
383         EquatorialGuinea = 66,
384         Eritrea = 67,
385         Estonia = 68,
386         Ethiopia = 69,
387         FalklandIslands = 70,
388         FaroeIslands = 71,
389         FijiCountry = 72,
390         Finland = 73,
391         France = 74,
392         MetropolitanFrance = 75,
393         FrenchGuiana = 76,
394         FrenchPolynesia = 77,
395         FrenchSouthernTerritories = 78,
396         Gabon = 79,
397         Gambia = 80,
398         Georgia = 81,
399         Germany = 82,
400         Ghana = 83,
401         Gibraltar = 84,
402         Greece = 85,
403         Greenland = 86,
404         Grenada = 87,
405         Guadeloupe = 88,
406         Guam = 89,
407         Guatemala = 90,
408         Guinea = 91,
409         GuineaBissau = 92,
410         Guyana = 93,
411         Haiti = 94,
412         HeardAndMcDonaldIslands = 95,
413         Honduras = 96,
414         HongKong = 97,
415         Hungary = 98,
416         Iceland = 99,
417         India = 100,
418         Indonesia = 101,
419         Iran = 102,
420         Iraq = 103,
421         Ireland = 104,
422         Israel = 105,
423         Italy = 106,
424         Jamaica = 107,
425         Japan = 108,
426         Jordan = 109,
427         Kazakhstan = 110,
428         Kenya = 111,
429         Kiribati = 112,
430         DemocraticRepublicOfKorea = 113,
431         RepublicOfKorea = 114,
432         Kuwait = 115,
433         Kyrgyzstan = 116,
434         Lao = 117,
435         Latvia = 118,
436         Lebanon = 119,
437         Lesotho = 120,
438         Liberia = 121,
439         LibyanArabJamahiriya = 122,
440         Liechtenstein = 123,
441         Lithuania = 124,
442         Luxembourg = 125,
443         Macau = 126,
444         Macedonia = 127,
445         Madagascar = 128,
446         Malawi = 129,
447         Malaysia = 130,
448         Maldives = 131,
449         Mali = 132,
450         Malta = 133,
451         MarshallIslands = 134,
452         Martinique = 135,
453         Mauritania = 136,
454         Mauritius = 137,
455         Mayotte = 138,
456         Mexico = 139,
457         Micronesia = 140,
458         Moldova = 141,
459         Monaco = 142,
460         Mongolia = 143,
461         Montserrat = 144,
462         Morocco = 145,
463         Mozambique = 146,
464         Myanmar = 147,
465         Namibia = 148,
466         NauruCountry = 149,
467         Nepal = 150,
468         Netherlands = 151,
469         NetherlandsAntilles = 152,
470         NewCaledonia = 153,
471         NewZealand = 154,
472         Nicaragua = 155,
473         Niger = 156,
474         Nigeria = 157,
475         Niue = 158,
476         NorfolkIsland = 159,
477         NorthernMarianaIslands = 160,
478         Norway = 161,
479         Oman = 162,
480         Pakistan = 163,
481         Palau = 164,
482         PalestinianTerritory = 165,
483         Panama = 166,
484         PapuaNewGuinea = 167,
485         Paraguay = 168,
486         Peru = 169,
487         Philippines = 170,
488         Pitcairn = 171,
489         Poland = 172,
490         Portugal = 173,
491         PuertoRico = 174,
492         Qatar = 175,
493         Reunion = 176,
494         Romania = 177,
495         RussianFederation = 178,
496         Rwanda = 179,
497         SaintKittsAndNevis = 180,
498         StLucia = 181,
499         StVincentAndTheGrenadines = 182,
500         Samoa = 183,
501         SanMarino = 184,
502         SaoTomeAndPrincipe = 185,
503         SaudiArabia = 186,
504         Senegal = 187,
505         Seychelles = 188,
506         SierraLeone = 189,
507         Singapore = 190,
508         Slovakia = 191,
509         Slovenia = 192,
510         SolomonIslands = 193,
511         Somalia = 194,
512         SouthAfrica = 195,
513         SouthGeorgiaAndTheSouthSandwichIslands = 196,
514         Spain = 197,
515         SriLanka = 198,
516         StHelena = 199,
517         StPierreAndMiquelon = 200,
518         Sudan = 201,
519         Suriname = 202,
520         SvalbardAndJanMayenIslands = 203,
521         Swaziland = 204,
522         Sweden = 205,
523         Switzerland = 206,
524         SyrianArabRepublic = 207,
525         Taiwan = 208,
526         Tajikistan = 209,
527         Tanzania = 210,
528         Thailand = 211,
529         Togo = 212,
530         Tokelau = 213,
531         TongaCountry = 214,
532         TrinidadAndTobago = 215,
533         Tunisia = 216,
534         Turkey = 217,
535         Turkmenistan = 218,
536         TurksAndCaicosIslands = 219,
537         Tuvalu = 220,
538         Uganda = 221,
539         Ukraine = 222,
540         UnitedArabEmirates = 223,
541         UnitedKingdom = 224,
542         UnitedStates = 225,
543         UnitedStatesMinorOutlyingIslands = 226,
544         Uruguay = 227,
545         Uzbekistan = 228,
546         Vanuatu = 229,
547         VaticanCityState = 230,
548         Venezuela = 231,
549         VietNam = 232,
550         BritishVirginIslands = 233,
551         USVirginIslands = 234,
552         WallisAndFutunaIslands = 235,
553         WesternSahara = 236,
554         Yemen = 237,
555         Yugoslavia = 238,
556         Zambia = 239,
557         Zimbabwe = 240,
558         SerbiaAndMontenegro = 241,
559         Montenegro = 242,
560         Serbia = 243,
561         SaintBarthelemy = 244,
562         SaintMartin = 245,
563         LatinAmericaAndTheCaribbean = 246,
564         LastCountry = LatinAmericaAndTheCaribbean
565     };
566 // GENERATED PART ENDS HERE
567
568     enum MeasurementSystem {
569         MetricSystem,
570         ImperialUSSystem,
571         ImperialUKSystem,
572         ImperialSystem = ImperialUSSystem // Qt 4 compatibility
573     };
574
575     enum FormatType { LongFormat, ShortFormat, NarrowFormat };
576     enum NumberOption {
577         OmitGroupSeparator = 0x01,
578         RejectGroupSeparator = 0x02
579     };
580     Q_DECLARE_FLAGS(NumberOptions, NumberOption)
581
582     enum CurrencySymbolFormat {
583         CurrencyIsoCode,
584         CurrencySymbol,
585         CurrencyDisplayName
586     };
587
588     QLocale();
589     QLocale(const QString &name);
590     QLocale(Language language, Country country = AnyCountry);
591     QLocale(Language language, Script script, Country country);
592     QLocale(const QLocale &other);
593
594     QLocale &operator=(const QLocale &other);
595
596     Language language() const;
597     Script script() const;
598     Country country() const;
599     QString name() const;
600
601     QString bcp47Name() const;
602     QString nativeLanguageName() const;
603     QString nativeCountryName() const;
604
605     short toShort(const QString &s, bool *ok = 0) const;
606     ushort toUShort(const QString &s, bool *ok = 0) const;
607     int toInt(const QString &s, bool *ok = 0) const;
608     uint toUInt(const QString &s, bool *ok = 0) const;
609     qlonglong toLongLong(const QString &s, bool *ok = 0) const;
610     qulonglong toULongLong(const QString &s, bool *ok = 0) const;
611     float toFloat(const QString &s, bool *ok = 0) const;
612     double toDouble(const QString &s, bool *ok = 0) const;
613
614     QString toString(qlonglong i) const;
615     QString toString(qulonglong i) const;
616     inline QString toString(short i) const;
617     inline QString toString(ushort i) const;
618     inline QString toString(int i) const;
619     inline QString toString(uint i) const;
620     QString toString(double i, char f = 'g', int prec = 6) const;
621     inline QString toString(float i, char f = 'g', int prec = 6) const;
622     QString toString(const QDate &date, const QString &formatStr) const;
623     QString toString(const QDate &date, FormatType format = LongFormat) const;
624     QString toString(const QTime &time, const QString &formatStr) const;
625     QString toString(const QTime &time, FormatType format = LongFormat) const;
626     QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const;
627     QString toString(const QDateTime &dateTime, const QString &format) const;
628
629     QString dateFormat(FormatType format = LongFormat) const;
630     QString timeFormat(FormatType format = LongFormat) const;
631     QString dateTimeFormat(FormatType format = LongFormat) const;
632 #ifndef QT_NO_DATESTRING
633     QDate toDate(const QString &string, FormatType = LongFormat) const;
634     QTime toTime(const QString &string, FormatType = LongFormat) const;
635     QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const;
636     QDate toDate(const QString &string, const QString &format) const;
637     QTime toTime(const QString &string, const QString &format) const;
638     QDateTime toDateTime(const QString &string, const QString &format) const;
639 #endif
640
641     // ### Qt 5: We need to return QString from these function since
642     //           unicode data contains several characters for these fields.
643     QChar decimalPoint() const;
644     QChar groupSeparator() const;
645     QChar percent() const;
646     QChar zeroDigit() const;
647     QChar negativeSign() const;
648     QChar positiveSign() const;
649     QChar exponential() const;
650
651     QString monthName(int, FormatType format = LongFormat) const;
652     QString standaloneMonthName(int, FormatType format = LongFormat) const;
653     QString dayName(int, FormatType format = LongFormat) const;
654     QString standaloneDayName(int, FormatType format = LongFormat) const;
655
656     Qt::DayOfWeek firstDayOfWeek() const;
657     QList<Qt::DayOfWeek> weekdays() const;
658
659     QString amText() const;
660     QString pmText() const;
661
662     MeasurementSystem measurementSystem() const;
663
664     Qt::LayoutDirection textDirection() const;
665
666     QString toUpper(const QString &str) const;
667     QString toLower(const QString &str) const;
668
669     QString currencySymbol(CurrencySymbolFormat = CurrencySymbol) const;
670     QString toCurrencyString(qlonglong, const QString &symbol = QString()) const;
671     QString toCurrencyString(qulonglong, const QString &symbol = QString()) const;
672     inline QString toCurrencyString(short, const QString &symbol = QString()) const;
673     inline QString toCurrencyString(ushort, const QString &symbol = QString()) const;
674     inline QString toCurrencyString(int, const QString &symbol = QString()) const;
675     inline QString toCurrencyString(uint, const QString &symbol = QString()) const;
676     QString toCurrencyString(double, const QString &symbol = QString()) const;
677     inline QString toCurrencyString(float, const QString &symbol = QString()) const;
678
679     QStringList uiLanguages() const;
680
681     bool operator==(const QLocale &other) const;
682     bool operator!=(const QLocale &other) const;
683
684     static QString languageToString(Language language);
685     static QString countryToString(Country country);
686     static QString scriptToString(Script script);
687     static void setDefault(const QLocale &locale);
688
689     static QLocale c() { return QLocale(C); }
690     static QLocale system();
691
692     static QList<QLocale> matchingLocales(QLocale::Language language, QLocale::Script script, QLocale::Country country);
693     static QList<Country> countriesForLanguage(Language lang);
694
695     void setNumberOptions(NumberOptions options);
696     NumberOptions numberOptions() const;
697
698     enum QuotationStyle { StandardQuotation, AlternateQuotation };
699     QString quoteString(const QString &str, QuotationStyle style = StandardQuotation) const;
700     QString quoteString(const QStringRef &str, QuotationStyle style = StandardQuotation) const;
701
702     QString createSeparatedList(const QStringList &strl) const;
703 //private:                        // this should be private, but can't be
704     struct Data {
705         quint16 index;
706         quint16 numberOptions;
707     };
708 private:
709     friend struct QLocalePrivate;
710     // ### We now use this field to pack an index into locale_data and NumberOptions.
711     // ### Qt 5: change to a QLocaleData *d; uint numberOptions.
712     union {
713         void *v;
714         Data p;
715     };
716     const QLocalePrivate *d() const;
717 };
718 Q_DECLARE_TYPEINFO(QLocale, Q_MOVABLE_TYPE);
719 Q_DECLARE_OPERATORS_FOR_FLAGS(QLocale::NumberOptions)
720
721 inline QString QLocale::toString(short i) const
722     { return toString(qlonglong(i)); }
723 inline QString QLocale::toString(ushort i) const
724     { return toString(qulonglong(i)); }
725 inline QString QLocale::toString(int i) const
726     { return toString(qlonglong(i)); }
727 inline QString QLocale::toString(uint i) const
728     { return toString(qulonglong(i)); }
729 inline QString QLocale::toString(float i, char f, int prec) const
730     { return toString(double(i), f, prec); }
731
732 inline QString QLocale::toCurrencyString(short i, const QString &symbol) const
733     { return toCurrencyString(qlonglong(i), symbol); }
734 inline QString QLocale::toCurrencyString(ushort i, const QString &symbol) const
735     { return toCurrencyString(qulonglong(i), symbol); }
736 inline QString QLocale::toCurrencyString(int i, const QString &symbol) const
737 { return toCurrencyString(qlonglong(i), symbol); }
738 inline QString QLocale::toCurrencyString(uint i, const QString &symbol) const
739 { return toCurrencyString(qulonglong(i), symbol); }
740 inline QString QLocale::toCurrencyString(float i, const QString &symbol) const
741 { return toCurrencyString(double(i), symbol); }
742
743 #ifndef QT_NO_DATASTREAM
744 Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLocale &);
745 Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLocale &);
746 #endif
747
748 #ifndef QT_NO_DEBUG_STREAM
749 Q_CORE_EXPORT QDebug operator<<(QDebug, const QLocale &);
750 #endif
751
752 QT_END_NAMESPACE
753
754 QT_END_HEADER
755
756 #endif // QLOCALE_H