I been modifying some code and running into a compile problem for things like enable_if, is_base_of, is_floating_point, etc which are all elements of c++ std library. Believe they are in type_traits. The errors I am getting are as follows:
In file included from C:\Users\CyberPalin\Documents\Arduino\Flyby_Waypoint\Flyby_Waypoint.ino:5:0:
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:33:15: error: 'enable_if' in namespace 'std' does not name a type
typename std::enable_if<std::is_integral<typename std::common_type<Arithmetic1, Arithmetic2>::type>::value ,bool>::type
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:33:24: error: expected unqualified-id before '<' token
typename std::enable_if<std::is_integral<typename std::common_type<Arithmetic1, Arithmetic2>::type>::value ,bool>::type
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:37:15: error: 'enable_if' in namespace 'std' does not name a type
typename std::enable_if<std::is_floating_point<typename std::common_type<Arithmetic1, Arithmetic2>::type>::value, bool>::type
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:37:24: error: expected unqualified-id before '<' token
typename std::enable_if<std::is_floating_point<typename std::common_type<Arithmetic1, Arithmetic2>::type>::value, bool>::type
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h: In function 'bool is_zero(T)':
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:19: error: 'is_floating_point' is not a member of 'std'
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:43: error: expected primary-expression before '>' token
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:44: error: '::value' has not been declared
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:55: error: 'is_base_of' is not a member of 'std'
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:72: error: expected primary-expression before ',' token
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:73: error: expected string-literal before 'float'
static_assert(std::is_floating_point<T>::value || std::is_base_of<T,float>::value,
^
C:\Users\CyberPalin\Documents\Arduino\libraries\AP_Math_freeimu/AP_Math_freeimu.h:45:73: error: expected ')' before 'float'
Any help would be appreciated. Getting similar errors for any intel board actually.
Thanks
Mike