11 #ifndef BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP 12 #define BOOST_RANGE_DETAIL_IMPLEMENTATION_HELP_HPP 20 #ifndef BOOST_NO_CWCHAR 26 namespace range_detail
35 inline const char*
str_end(
const char*
s,
const char* )
37 return s + strlen( s );
40 #ifndef BOOST_NO_CWCHAR 41 inline const wchar_t*
str_end(
const wchar_t*
s,
const wchar_t* )
43 return s + wcslen( s );
46 inline const wchar_t*
str_end(
const wchar_t*
s,
const wchar_t* )
48 if( s == 0 || s[0] == 0 )
56 template<
class Char >
62 template<
class T, std::
size_t sz >
65 return boost_range_array + sz;
68 template<
class T, std::
size_t sz >
71 return boost_range_array + sz;
78 template<
class Char >
84 template<
class T, std::
size_t sz >
91 template<
class T, std::
size_t sz >
103 template<
class T1,
class T2>
BOOST_MOVE_USE_STANDARD_LIBRARY_MOVE.
#define BOOST_RANGE_ARRAY_REF()
std::size_t str_size(const Char *const &s)
std::size_t array_size(T BOOST_RANGE_ARRAY_REF()[sz])
const char * str_end(const char *s, const char *)
bool is_same_object(const T1 &l, const T2 &r)
void boost_range_silence_warning(const T &)
bool is_same_address(const void *l, const void *r)
T * array_end(T BOOST_RANGE_ARRAY_REF()[sz])
::std_msgs::Char_< std::allocator< void > > Char