configlib: Remove deprecated std::binary_function inheritance
authorThomas Jarosch <thomas.jarosch@intra2net.com>
Tue, 30 Dec 2025 20:32:14 +0000 (21:32 +0100)
committerThomas Jarosch <thomas.jarosch@intra2net.com>
Wed, 31 Dec 2025 11:11:25 +0000 (12:11 +0100)
commit209fd4a2079d66a2d9b43d4b80b1e03b523c71d7
tree794752e93979e1d72faf7ed53d8a18ad9d24bd7a
parent2ff3b296171b748ac269b50f05be85051c36fbd2
configlib: Remove deprecated std::binary_function inheritance

Original warnings:
configlib/i2n_global_config.hpp:261:15: error: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Werror=deprecated-declarations]
configlib/i2n_global_config.hpp:278:15: error: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Werror=deprecated-declarations]
configlib/i2n_global_config.hpp:299:15: error: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Werror=deprecated-declarations]
configlib/i2n_global_config.hpp:350:18: error: 'template<class _Arg1, class _Arg2, class _Result> struct std::binary_function' is deprecated [-Werror=deprecated-declarations]

Keep std::binary_function inheritance for GCC < 4.8 only.

GCC 4.8.1 was the first version with feature-complete C++11 support.

Require C++11 when using GCC >= 4.8 to avoid ABI mismatch between the
deprecated std::binary_function and modern C++ standard library.

Applied to:
- DefaultConverter<ValueType>
- DefaultConverter<std::string>
- AutoIntConverter<ValueType>

Also added conditional BOOST_STATIC_ASSERT in Var class to check
binary_function inheritance only for GCC < 4.8.
configlib/i2n_global_config.hpp