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