1 /////////////////////////////////////////////////////////////////////////////// 2 // icase.hpp 3 // 4 // Copyright 2008 Eric Niebler. Distributed under the Boost 5 // Software License, Version 1.0. (See accompanying file 6 // LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) 7 8 #ifndef BOOST_XPRESSIVE_DETAIL_CORE_ICASE_HPP_EAN_10_04_2005 9 #define BOOST_XPRESSIVE_DETAIL_CORE_ICASE_HPP_EAN_10_04_2005 10 11 #include <boost/xpressive/detail/detail_fwd.hpp> 12 #include <boost/xpressive/regex_constants.hpp> 13 #include <boost/xpressive/detail/static/modifier.hpp> 14 #include <boost/xpressive/detail/core/linker.hpp> 15 #include <boost/xpressive/detail/utility/ignore_unused.hpp> 16 17 namespace boost { namespace xpressive { namespace regex_constants 18 { 19 20 /////////////////////////////////////////////////////////////////////////////// 21 /// \brief Makes a sub-expression case-insensitive. 22 /// 23 /// Use icase() to make a sub-expression case-insensitive. For instance, 24 /// "foo" >> icase(set['b'] >> "ar") will match "foo" exactly followed by 25 /// "bar" irrespective of case. 26 detail::modifier_op<detail::icase_modifier> const icase = {{}, regex_constants::icase_}; 27 28 } // namespace regex_constants 29 30 using regex_constants::icase; 31 32 namespace detail 33 { ignore_unused_icase()34 inline void ignore_unused_icase() 35 { 36 detail::ignore_unused(icase); 37 } 38 } 39 40 }} // namespace boost::xpressive 41 42 #endif 43