Skip to content

Using functionality in wchar_from_mb.hpp #196

Description

@eldiener

In wchar_from_mb.hpp you have at the beginning of the file:

#ifndef BOOST_NO_CWCHAR
#include <cwchar>  // mbstate_t
#endif

but you proceed in the functionality in the file as if BOOST_NO_CWCHAR can never be defined by referencing functionality in cwchar. If the functionality in wchar_from_mb.hpp can not work if BOOST_NO_CWCHAR is defined should not the serialization library adjust to this somehow, maybe by not supporting wide character archives at all in such a situation ?

I am working with the Embarcadero C++ clang-based compilers trying to integrate them into Boost libraries. Unforunately those compilers have a bug, which I have reported to Embarcadero, that large parts of the functionality of cwchar are not provided despite the compilers supporting wchar_t. So in the embarcadero.hpp for these clang-based compilers I have BOOST_NO_CWCHAR defined. But this causes a compiler error in wchar_from_mb.hpp when you try to use functionality from the cwchar header file, such as std::mbsinit on line 133.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions