diff -burN boost-1.30.2/boost/iterator_adaptors.hpp boost-1.30.2.cl-preprocessor-fix/boost/iterator_adaptors.hpp --- boost-1.30.2/boost/iterator_adaptors.hpp 2002-12-27 17:51:52.000000000 +0100 +++ boost-1.30.2.cl-preprocessor-fix/boost/iterator_adaptors.hpp 2003-09-19 17:04:16.000000000 +0200 @@ -1115,29 +1115,42 @@ # endif } -template ::value_type -#endif - , class Reference -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< - OuterIterator>::reference -#else - = Value & -#endif - , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits< - OuterIterator>::iterator_category - , class Pointer + #if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< - OuterIterator>::pointer + +template ::value_type + , class Reference = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type::reference + , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits::iterator_category + , class Pointer = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type::pointer > +struct indirect_iterator_generator +{ + typedef iterator_adaptor type; +}; + +template ::value_type + , class Reference = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type::reference + , class ConstReference = Value const& + , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits::iterator_category + , class Pointer = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type::pointer + , class ConstPointer = Value const* > +struct indirect_iterator_pair_generator +{ + typedef typename indirect_iterator_generator::type iterator; + typedef typename indirect_iterator_generator::type const_iterator; +}; + #else - = Value* -#endif - > + +template ::iterator_category + , class Pointer = Value* > struct indirect_iterator_generator { typedef iterator_adaptor::value_type -#endif - , class Reference -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< - OuterIterator>::reference -#else - = Value & -#endif + , class Reference= Value & , class ConstReference = Value const& - , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits< - OuterIterator>::iterator_category - , class Pointer -#if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) - = BOOST_ARG_DEPENDENT_TYPENAME detail::traits_of_value_type< - OuterIterator>::pointer -#else - = Value* -#endif - , class ConstPointer = Value const* - > + , class Category = BOOST_ARG_DEPENDENT_TYPENAME boost::detail::iterator_traits::iterator_category + , class Pointer = Value* + , class ConstPointer = Value const* > struct indirect_iterator_pair_generator { typedef typename indirect_iterator_generator::type const_iterator; }; +#endif + + #if !BOOST_WORKAROUND(BOOST_MSVC, <= 1300) template inline typename indirect_iterator_generator::type diff -burN boost-1.30.2/boost/regex/v3/instances.hpp boost-1.30.2.cl-preprocessor-fix/boost/regex/v3/instances.hpp --- boost-1.30.2/boost/regex/v3/instances.hpp 2002-11-07 13:50:29.000000000 +0100 +++ boost-1.30.2.cl-preprocessor-fix/boost/regex/v3/instances.hpp 2003-09-19 17:05:05.000000000 +0200 @@ -73,10 +73,10 @@ //template class BOOST_REGEX_DECL regex_traits< BOOST_REGEX_CHAR_T >; template class BOOST_REGEX_DECL reg_expression< BOOST_REGEX_CHAR_T >; -template class BOOST_REGEX_DECL re_detail::match_results_base::type)>; -template class BOOST_REGEX_DECL re_detail::match_results_base::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type)>; -template class BOOST_REGEX_DECL match_results::type)>; -template class BOOST_REGEX_DECL match_results::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type)>; +template class BOOST_REGEX_DECL re_detail::match_results_base::type) >; +template class BOOST_REGEX_DECL re_detail::match_results_base::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type) >; +template class BOOST_REGEX_DECL match_results::type) >; +template class BOOST_REGEX_DECL match_results::const_iterator, BOOST_DEFAULT_ALLOCATOR(re_detail::def_alloc_param_traits::const_iterator>::type) >; #pragma warning(pop) @@ -119,8 +119,8 @@ template void BOOST_REGEX_CALL reg_expression::fixup_apply(re_detail::re_syntax_base* b, unsigned cbraces); template void BOOST_REGEX_CALL reg_expression::move_offsets(re_detail::re_syntax_base* j, unsigned size); template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_narrow_type&); -template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T)>& equivalents, bool isnot, const re_detail::_wide_type&); +template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& equivalents, bool isnot, const re_detail::_narrow_type&); +template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_aux(re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& singles, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& ranges, re_detail::jstack& classes, re_detail::jstack::traits_string_type, BOOST_DEFAULT_ALLOCATOR(BOOST_REGEX_CHAR_T) >& equivalents, bool isnot, const re_detail::_wide_type&); template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::compile_set_simple(re_detail::re_syntax_base* dat, unsigned long cls, bool isnot); template unsigned int BOOST_REGEX_CALL reg_expression::parse_inner_set(const BOOST_REGEX_CHAR_T*& first, const BOOST_REGEX_CHAR_T* last); template re_detail::re_syntax_base* BOOST_REGEX_CALL reg_expression::add_simple(re_detail::re_syntax_base* dat, re_detail::syntax_element_type type, unsigned int size);