No se puede compilar boost / any_iterator.hpp en boost 1.57

Después de (intentar) actualizar un proyecto VS2012 para usar el impulso 1.57, ya no puedo compilar: muchos mensajes de error salen deboost/any_iterator.hpp (vea abajo). Como prueba, creé un nuevo proyecto que no contenía nada más que una función principal vacía y#include "boost/any_iterator.hpp" y obtuve el mismo conjunto de errores. Aquí está el código del que se queja:

// snippet from boost/any_iterator.hpp

template<
            class Value
          , class Traversal
          , class Reference
          , class Difference
          , class Buffer
        >
        class postfix_increment_proxy<
                    range_detail::any_iterator< // line 131
                        Value
                      , Traversal
                      , Reference
                      , Difference
                      , Buffer
                    >
                >
        {
            // ...
        };

Hay otra clase en el mismo archivo que sigue el mismo patrón y genera errores idénticos.range_detail::any_iterator se declara hacia adelante un poco más arriba en el archivo:

namespace range_detail
{
   // ...
   template<
                class Value
              , class Traversal
              , class Reference
              , class Difference
              , class Buffer = any_iterator_default_buffer
            >
            class any_iterator;
    // ...
}

Para lo que vale, aquí está el conjunto de errores que obtengo de VS2012:

Error   1   error C2143: syntax error : missing ';' before '<'  [path]\boost\range\detail\any_iterator.hpp  131
Error   2   error C2059: syntax error : '<' [path]\boost\range\detail\any_iterator.hpp  131
Error   3   error C2065: 'Value' : undeclared identifier    [path]\boost\range\detail\any_iterator.hpp  134
Error   4   error C2065: 'Traversal' : undeclared identifier    [path]\boost\range\detail\any_iterator.hpp  135
Error   5   error C2065: 'Reference' : undeclared identifier    [path]\boost\range\detail\any_iterator.hpp  136
Error   6   error C2065: 'Difference' : undeclared identifier   [path]\boost\range\detail\any_iterator.hpp  137
Error   7   error C2065: 'Buffer' : undeclared identifier   [path]\boost\range\detail\any_iterator.hpp  138
Error   8   error C2923: 'boost::range_detail::any_iterator' : 'Value' is not a valid template type argument for parameter 'Value'  [path]\boost\range\detail\any_iterator.hpp  138
Error   9   error C2923: 'boost::range_detail::any_iterator' : 'Traversal' is not a valid template type argument for parameter 'Traversal'  [path]\boost\range\detail\any_iterator.hpp  138
Error   10  error C2923: 'boost::range_detail::any_iterator' : 'Reference' is not a valid template type argument for parameter 'Reference'  [path]\boost\range\detail\any_iterator.hpp  138
Error   11  error C2923: 'boost::range_detail::any_iterator' : 'Difference' is not a valid template type argument for parameter 'Difference'    [path]\boost\range\detail\any_iterator.hpp  138
Error   12  error C2923: 'boost::range_detail::any_iterator' : 'Buffer' is not a valid template type argument for parameter 'Buffer'    [path]\boost\range\detail\any_iterator.hpp  138
Error   13  error C2143: syntax error : missing ';' before '{'  [path]\boost\range\detail\any_iterator.hpp  140
Error   14  error C2447: '{' : missing function header (old-style formal list?) [path]\boost\range\detail\any_iterator.hpp  140

¿Alguien sabe de una solución alternativa?

Respuestas a la pregunta(1)

Su respuesta a la pregunta