Common/ImplicitArrays: fails to compile with GCC 4.8.5
In file included from /build/src/Common/ImplicitArrays/vtkImplicitArray.h:21:0,
from /build/src/Common/ImplicitArrays/vtkAffineArray.h:26,
from Common/ImplicitArrays/vtkAffineArrayInstantiate_double.cxx:16:
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h: In instantiation of ‘struct vtk::detail::has_map_trait<vtkAffineImplicitBackend<double>, void>’:
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h:183:49: required from ‘struct vtk::detail::can_map_trait<vtkAffineImplicitBackend<double>, void>’
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h:222:99: required from ‘struct vtk::detail::implicit_array_traits<vtkAffineImplicitBackend<double> >’
/build/src/Common/ImplicitArrays/vtkImplicitArray.h:78:7: required from ‘class vtkImplicitArray<vtkAffineImplicitBackend<double> >’
Common/ImplicitArrays/vtkAffineArrayInstantiate_double.cxx:18:1: required from here
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h:69:35: error: ‘map’ is not a member of ‘std::remove_reference<vtkAffineImplicitBackend<double> >::type {aka vtkAffineImplicitBackend<double>}’
: public has_map_trait<decltype(&std::remove_reference<T>::type::map)>
^
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h: In instantiation of ‘struct vtk::detail::can_map_trait<vtkAffineImplicitBackend<double>, void>’:
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h:222:99: required from ‘struct vtk::detail::implicit_array_traits<vtkAffineImplicitBackend<double> >’
/build/src/Common/ImplicitArrays/vtkImplicitArray.h:78:7: required from ‘class vtkImplicitArray<vtkAffineImplicitBackend<double> >’
Common/ImplicitArrays/vtkAffineArrayInstantiate_double.cxx:18:1: required from here
/build/src/Common/ImplicitArrays/vtkImplicitArrayTraits.h:183:49: error: no type named ‘rtype’ in ‘struct vtk::detail::has_map_trait<vtkAffineImplicitBackend<double>, void>’
using rtype = typename has_map_trait<T>::rtype;
^