Ticket #1320: as_literal071013.diff
File as_literal071013.diff, 1.3 KB (added by , 15 years ago) |
---|
-
as_literal.hpp
21 21 22 22 #include <boost/range/iterator_range.hpp> 23 23 #include <boost/range/detail/str_types.hpp> 24 25 #include <boost/detail/workaround.hpp> 26 24 27 #include <cstring> 25 28 #include <cwchar> 26 29 … … 104 107 template< class Char, std::size_t sz > 105 108 inline iterator_range<Char*> as_literal( Char (&arr)[sz] ) 106 109 { 110 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590)) && __BORLANDC__ >= 0x590 111 return boost::make_iterator_range<Char*>( arr, arr + sz - 1 ); 112 #else 107 113 return boost::make_iterator_range( arr, arr + sz - 1 ); 114 #endif 108 115 } 109 116 110 117 111 118 template< class Char, std::size_t sz > 112 119 inline iterator_range<const Char*> as_literal( const Char (&arr)[sz] ) 113 120 { 114 return boost::make_iterator_range( arr, arr + sz - 1 ); 115 } 121 #if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x590)) && __BORLANDC__ >= 0x590 122 return boost::make_iterator_range<const Char*>( arr, arr + sz - 1 ); 123 #else 124 return boost::make_iterator_range( arr, arr + sz - 1 ); 125 #endif 126 } 116 127 } 117 128 118 129 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING