Prusa Slicer 2.6.0
Loading...
Searching...
No Matches
Slic3r::CNumericLocalesSetter Class Reference

#include <src/libslic3r/LocalesUtils.hpp>

Public Member Functions

 CNumericLocalesSetter ()
 
 ~CNumericLocalesSetter ()
 

Private Attributes

locale_t m_original_locale
 
locale_t m_new_locale
 

Detailed Description

Constructor & Destructor Documentation

◆ CNumericLocalesSetter()

Slic3r::CNumericLocalesSetter::CNumericLocalesSetter ( )
16{
17#ifdef _WIN32
18 _configthreadlocale(_ENABLE_PER_THREAD_LOCALE);
19 m_orig_numeric_locale = std::setlocale(LC_NUMERIC, nullptr);
20 std::setlocale(LC_NUMERIC, "C");
21#elif __APPLE__
22 m_original_locale = uselocale((locale_t)0);
23 m_new_locale = newlocale(LC_NUMERIC_MASK, "C", m_original_locale);
24 uselocale(m_new_locale);
25#else // linux / BSD
26 m_original_locale = uselocale((locale_t)0);
28 m_new_locale = newlocale(LC_NUMERIC_MASK, "C", m_new_locale);
29 uselocale(m_new_locale);
30#endif
31}
locale_t m_original_locale
Definition LocalesUtils.hpp:27
locale_t m_new_locale
Definition LocalesUtils.hpp:28

References m_new_locale, and m_original_locale.

◆ ~CNumericLocalesSetter()

Slic3r::CNumericLocalesSetter::~CNumericLocalesSetter ( )
36{
37#ifdef _WIN32
38 std::setlocale(LC_NUMERIC, m_orig_numeric_locale.data());
39#else
40 uselocale(m_original_locale);
41 freelocale(m_new_locale);
42#endif
43}

References m_new_locale, and m_original_locale.

Member Data Documentation

◆ m_new_locale

locale_t Slic3r::CNumericLocalesSetter::m_new_locale
private

◆ m_original_locale

locale_t Slic3r::CNumericLocalesSetter::m_original_locale
private

The documentation for this class was generated from the following files: