From 9c1f3650f276880bf9837dca840c1d14ed3688a4 Mon Sep 17 00:00:00 2001 From: Alexander Nasonov Date: Fri, 8 Jun 2007 19:59:40 +0000 Subject: [PATCH] Added BOOST_LEXICAL_CAST_ASSUME_C_LOCALE. [SVN r37950] --- include/boost/lexical_cast.hpp | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/include/boost/lexical_cast.hpp b/include/boost/lexical_cast.hpp index da8262e..1cd23f7 100644 --- a/include/boost/lexical_cast.hpp +++ b/include/boost/lexical_cast.hpp @@ -459,21 +459,20 @@ namespace boost template CharT* lcast_put_unsigned(T n, CharT* finish) { - typedef std::numpunct numpunct; - CharT thousands_sep = 0; -#if !defined(MEASURE_LEXICAL_CAST_PERFORMANCE_WITHOUT_LOCALE_OVERHEAD) +#ifdef BOOST_LEXICAL_CAST_ASSUME_C_LOCALE + char const* grouping = ""; + std::size_t const grouping_size = 0; +#else std::locale loc; + typedef std::numpunct numpunct; numpunct const& np = BOOST_USE_FACET(numpunct, loc); std::string const& grouping = np.grouping(); std::string::size_type const grouping_size = grouping.size(); if(grouping_size) thousands_sep = np.thousands_sep(); -#else // dead branch in production code - char const* grouping = ""; - std::size_t grouping_size = 0; #endif std::string::size_type group = 0; // current group number