|
Boost Users : |
From: Robert Ramey (ramey_at_[hidden])
Date: 2008-07-11 17:48:03
I don't remember now. Probably to minimize wasted space.
Robert Ramey
Andrew McDonald wrote:
> I was wondering why in the archive library the input and output text
> streams are hardcoded with the boolalpha bit as unset, e.g. (is >>
> std::noboolalpha;)?
>
> Specifically the code is in the directory:
> boost_1_35_0/boost/archive/impl/
>
> In basic_text_iprimitive.ipp
>
> template<class IStream>
> BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
> basic_text_iprimitive<IStream>::basic_text_iprimitive(
> IStream &is_,
> bool no_codecvt
> ) :
> is(is_),
> flags_saver(is_),
> precision_saver(is_),
> archive_locale(NULL),
> locale_saver(is_)
> {
> if(! no_codecvt){
> archive_locale.reset(
> add_facet(
> std::locale::classic(),
> new codecvt_null<BOOST_DEDUCED_TYPENAME
> IStream::char_type>
> )
> );
> is.imbue(* archive_locale);
> }
> is >> std::noboolalpha;
> }
>
> and basic_text_oprimitive.ipp
>
> template<class OStream>
> BOOST_ARCHIVE_OR_WARCHIVE_DECL(BOOST_PP_EMPTY())
> basic_text_oprimitive<OStream>::basic_text_oprimitive(
> OStream & os_,
> bool no_codecvt
> ) :
> os(os_),
> flags_saver(os_),
> precision_saver(os_),
> archive_locale(NULL),
> locale_saver(os_)
> {
> if(! no_codecvt){
> archive_locale.reset(
> add_facet(
> std::locale::classic(),
> new codecvt_null<BOOST_DEDUCED_TYPENAME
> OStream::char_type>
> )
> );
> os.imbue(* archive_locale);
> }
> os << std::noboolalpha;
> }
>
>
>
> Andrew McDonald
> Software Engineer
>
> "Zufall ist nur der Ausdruck unserer Unfähigkeit, den Dingen auf
> Grund zu kommen" - Albert Einstein
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net