26#ifndef _OD_SETLOCALE_H_
27#define _OD_SETLOCALE_H_
32#if (defined(_WIN32) || defined(WIN64)) && !defined(_WIN32_WCE)
58 OdSetLocale(
int category,
const OdString& locale)
61 set(category, locale);
63 OdSetLocale(
int category,
int ansiCp)
70 set(category, loc.
c_str());
77 void set(
int category,
const OdString& loc)
82 OdString origLocale = ::_wsetlocale(_category, 0);
83 if (origLocale.
iCompare(loc) != 0 && ::_wsetlocale(_category, loc) != 0)
85 _origLocale = origLocale;
90 if (!_origLocale.isEmpty())
92 _wsetlocale(_category, _origLocale);
94 OdString loc = _wsetlocale(_category, 0);
109#define SET_LOCALE(category, locale) OdSetLocale loc(category, locale);
110#define RESET_LOCALE() loc.reset();
113#define SET_LOCALE(category, locale)
114#define RESET_LOCALE()
#define FIRSTDLL_EXPORT_STATIC
int iCompare(const OdChar *otherString) const
OdString & format(const OdChar *formatString,...)
const OdChar * c_str() const