// // Copyright (c) 2009-2011 Artyom Beilis (Tonkikh) // // Distributed under the Boost Software License, Version 1.0. (See // accompanying file LICENSE_1_0.txt or copy at // http://www.boost.org/LICENSE_1_0.txt) // #ifndef BOOST_LOCALE_GENERATOR_HPP #define BOOST_LOCALE_GENERATOR_HPP #include #include #ifdef BOOST_MSVC # pragma warning(push) # pragma warning(disable : 4275 4251 4231 4660) #endif #include #include #include namespace boost { template class shared_ptr; /// /// \brief This is the main namespace that encloses all localization classes /// namespace locale { class localization_backend; class localization_backend_manager; static const uint32_t nochar_facet = 0; ///< Unspecified character category for character independent facets static const uint32_t char_facet = 1 << 0; ///< 8-bit character facets static const uint32_t wchar_t_facet = 1 << 1; ///< wide character facets static const uint32_t char16_t_facet = 1 << 2; ///< C++0x char16_t facets static const uint32_t char32_t_facet = 1 << 3; ///< C++0x char32_t facets static const uint32_t character_first_facet = char_facet; ///< First facet specific for character type static const uint32_t character_last_facet = char32_t_facet; ///< Last facet specific for character type static const uint32_t all_characters = 0xFFFF; ///< Special mask -- generate all typedef uint32_t character_facet_type; /// backend,std::string const &id) const; generator(generator const &); void operator=(generator const &); struct data; std::auto_ptr d; }; } } #ifdef BOOST_MSVC #pragma warning(pop) #endif #endif // vim: tabstop=4 expandtab shiftwidth=4 softtabstop=4