Rely on the 'typename' keyword from the compiler.

Remove trailing whitespace from modified lines.

 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME *$|typename|'
 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME \(.*\) +$|typename \1|'
 git grep -l BOOST_STRING_TYPENAME | xargs sed -i 's|BOOST_STRING_TYPENAME|typename|'

Remove include of header from Boost.Algorithm library providing the define.
This commit is contained in:
Stephen Kelly
2014-09-10 15:37:45 +02:00
parent 18e5bfd037
commit 0e9a9e613b
2 changed files with 44 additions and 46 deletions

View File

@ -22,7 +22,6 @@
#ifndef BOOST_RANGE_STRING_COLLECTION_TRAITS_HPP
#define BOOST_RANGE_STRING_COLLECTION_TRAITS_HPP
#include <boost/algorithm/string/config.hpp>
#include <boost/type_traits/is_array.hpp>
#include <boost/type_traits/is_pointer.hpp>
#include <boost/mpl/eval_if.hpp>
@ -74,13 +73,13 @@ namespace boost {
struct collection_traits
{
private:
typedef BOOST_STRING_TYPENAME ::boost::mpl::eval_if<
typedef typename ::boost::mpl::eval_if<
::boost::algorithm::detail::is_pair<T>,
detail::pair_container_traits_selector<T>,
BOOST_STRING_TYPENAME ::boost::mpl::eval_if<
typename ::boost::mpl::eval_if<
::boost::is_array<T>,
detail::array_container_traits_selector<T>,
BOOST_STRING_TYPENAME ::boost::mpl::eval_if<
typename ::boost::mpl::eval_if<
::boost::is_pointer<T>,
detail::pointer_container_traits_selector<T>,
detail::default_container_traits_selector<T>
@ -91,22 +90,22 @@ namespace boost {
//! Function type
typedef container_helper_type function_type;
//! Value type
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::value_type value_type;
//! Size type
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::size_type size_type;
//! Iterator type
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::iterator iterator;
//! Const iterator type
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::const_iterator const_iterator;
//! Result iterator type ( iterator of const_iterator, depending on the constness of the container )
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::result_iterator result_iterator;
//! Difference type
typedef BOOST_STRING_TYPENAME
typedef typename
container_helper_type::difference_type difference_type;
}; // 'collection_traits'
@ -120,7 +119,7 @@ namespace boost {
template< typename C >
struct value_type_of
{
typedef BOOST_STRING_TYPENAME collection_traits<C>::value_type type;
typedef typename collection_traits<C>::value_type type;
};
//! Container difference trait
@ -130,7 +129,7 @@ namespace boost {
template< typename C >
struct difference_type_of
{
typedef BOOST_STRING_TYPENAME collection_traits<C>::difference_type type;
typedef typename collection_traits<C>::difference_type type;
};
//! Container iterator trait
@ -140,7 +139,7 @@ namespace boost {
template< typename C >
struct iterator_of
{
typedef BOOST_STRING_TYPENAME collection_traits<C>::iterator type;
typedef typename collection_traits<C>::iterator type;
};
//! Container const_iterator trait
@ -150,7 +149,7 @@ namespace boost {
template< typename C >
struct const_iterator_of
{
typedef BOOST_STRING_TYPENAME collection_traits<C>::const_iterator type;
typedef typename collection_traits<C>::const_iterator type;
};
@ -162,7 +161,7 @@ namespace boost {
template< typename C >
struct result_iterator_of
{
typedef BOOST_STRING_TYPENAME collection_traits<C>::result_iterator type;
typedef typename collection_traits<C>::result_iterator type;
};
// collection_traits related functions -----------------------------------------//
@ -172,7 +171,7 @@ namespace boost {
Get the size of the container. Uses collection_traits.
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::size_type
inline typename collection_traits<C>::size_type
size( const C& c )
{
return collection_traits<C>::function_type::size( c );
@ -195,7 +194,7 @@ namespace boost {
Get the begin iterator of the container. Uses collection_traits.
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::iterator
inline typename collection_traits<C>::iterator
begin( C& c )
{
return collection_traits<C>::function_type::begin( c );
@ -206,7 +205,7 @@ namespace boost {
\overload
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::const_iterator
inline typename collection_traits<C>::const_iterator
begin( const C& c )
{
return collection_traits<C>::function_type::begin( c );
@ -217,7 +216,7 @@ namespace boost {
Get the begin iterator of the container. Uses collection_traits.
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::iterator
inline typename collection_traits<C>::iterator
end( C& c )
{
return collection_traits<C>::function_type::end( c );
@ -228,7 +227,7 @@ namespace boost {
\overload
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::const_iterator
inline typename collection_traits<C>::const_iterator
end( const C& c )
{
return collection_traits<C>::function_type::end( c );
@ -241,7 +240,7 @@ namespace boost {
\overload
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::result_iterator
inline typename collection_traits<C>::result_iterator
begin( C& c )
{
return collection_traits<C>::function_type::begin( c );
@ -252,7 +251,7 @@ namespace boost {
\overload
*/
template< typename C >
inline BOOST_STRING_TYPENAME collection_traits<C>::result_iterator
inline typename collection_traits<C>::result_iterator
end( C& c )
{
return collection_traits<C>::function_type::end( c );

View File

@ -10,7 +10,6 @@
#ifndef BOOST_RANGE_STRING_DETAIL_COLLECTION_TRAITS_HPP
#define BOOST_RANGE_STRING_DETAIL_COLLECTION_TRAITS_HPP
#include <boost/algorithm/string/config.hpp>
#include <cstddef>
#include <string>
#include <boost/type_traits/is_array.hpp>
@ -41,16 +40,16 @@ namespace boost {
template< typename ContainerT >
struct default_container_traits
{
typedef BOOST_STRING_TYPENAME ContainerT::value_type value_type;
typedef BOOST_STRING_TYPENAME ContainerT::iterator iterator;
typedef BOOST_STRING_TYPENAME ContainerT::const_iterator const_iterator;
typedef BOOST_STRING_TYPENAME
typedef typename ContainerT::value_type value_type;
typedef typename ContainerT::iterator iterator;
typedef typename ContainerT::const_iterator const_iterator;
typedef typename
::boost::mpl::if_< ::boost::is_const<ContainerT>,
const_iterator,
iterator
>::type result_iterator;
typedef BOOST_STRING_TYPENAME ContainerT::difference_type difference_type;
typedef BOOST_STRING_TYPENAME ContainerT::size_type size_type;
typedef typename ContainerT::difference_type difference_type;
typedef typename ContainerT::size_type size_type;
// static operations
template< typename C >
@ -135,12 +134,12 @@ namespace boost {
template< typename PairT >
struct pair_container_traits
{
typedef BOOST_STRING_TYPENAME PairT::first_type element_type;
typedef typename PairT::first_type element_type;
typedef BOOST_STRING_TYPENAME ::boost::detail::
typedef typename ::boost::detail::
iterator_traits<element_type>::value_type value_type;
typedef std::size_t size_type;
typedef BOOST_STRING_TYPENAME ::boost::detail::
typedef typename ::boost::detail::
iterator_traits<element_type>::difference_type difference_type;
typedef element_type iterator;
@ -221,7 +220,7 @@ namespace boost {
template< typename TraitsT >
struct array_length
{
typedef BOOST_STRING_TYPENAME
typedef typename
TraitsT::size_type size_type;
BOOST_STATIC_CONSTANT(
@ -249,7 +248,7 @@ namespace boost {
template< typename TraitsT >
struct array_length
{
typedef BOOST_STRING_TYPENAME
typedef typename
TraitsT::size_type size_type;
template< typename A >
@ -276,7 +275,7 @@ namespace boost {
template< typename TraitsT >
struct array_length
{
typedef BOOST_STRING_TYPENAME
typedef typename
TraitsT::size_type size_type;
template< typename A >
@ -304,18 +303,18 @@ namespace boost {
typedef array_traits<T> traits_type;
public:
typedef BOOST_STRING_TYPENAME
typedef typename
traits_type::value_type value_type;
typedef BOOST_STRING_TYPENAME
typedef typename
traits_type::iterator iterator;
typedef BOOST_STRING_TYPENAME
typedef typename
traits_type::const_iterator const_iterator;
typedef BOOST_STRING_TYPENAME
typedef typename
traits_type::size_type size_type;
typedef BOOST_STRING_TYPENAME
typedef typename
traits_type::difference_type difference_type;
typedef BOOST_STRING_TYPENAME
typedef typename
::boost::mpl::if_< ::boost::is_const<T>,
const_iterator,
iterator
@ -323,9 +322,9 @@ namespace boost {
private:
// resolve array size
typedef BOOST_STRING_TYPENAME
typedef typename
::boost::remove_cv<value_type>::type char_type;
typedef BOOST_STRING_TYPENAME
typedef typename
array_length_selector<char_type>::
BOOST_NESTED_TEMPLATE array_length<traits_type> array_length_type;
@ -401,10 +400,10 @@ namespace boost {
template<typename T>
struct pointer_container_traits
{
typedef BOOST_STRING_TYPENAME
typedef typename
::boost::remove_pointer<T>::type value_type;
typedef BOOST_STRING_TYPENAME
typedef typename
::boost::remove_cv<value_type>::type char_type;
typedef ::std::char_traits<char_type> char_traits;
@ -413,7 +412,7 @@ namespace boost {
typedef std::ptrdiff_t difference_type;
typedef std::size_t size_type;
typedef BOOST_STRING_TYPENAME
typedef typename
::boost::mpl::if_< ::boost::is_const<T>,
const_iterator,
iterator