From 30794afc61002ece61e6de13616b023f2ef874e5 Mon Sep 17 00:00:00 2001 From: Adam Wulkiewicz Date: Sat, 6 Jan 2018 12:40:55 +0100 Subject: [PATCH] Use class keyword in std::tuple_size and std::tuple_element specializations To avoid warnings 'X defined as a struct template but previously declared as a class template'. --- include/boost/tuple/tuple.hpp | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/include/boost/tuple/tuple.hpp b/include/boost/tuple/tuple.hpp index 39b0e13..4e34b6c 100644 --- a/include/boost/tuple/tuple.hpp +++ b/include/boost/tuple/tuple.hpp @@ -79,28 +79,31 @@ namespace std // std::tuple_size template - struct tuple_size< boost::tuples::tuple >: - boost::tuples::length< boost::tuples::tuple > + class tuple_size< boost::tuples::tuple >: + public boost::tuples::length< boost::tuples::tuple > { }; -template struct tuple_size< boost::tuples::cons >: boost::tuples::length< boost::tuples::cons > +template class tuple_size< boost::tuples::cons >: + public boost::tuples::length< boost::tuples::cons > { }; -template<> struct tuple_size< boost::tuples::null_type >: boost::tuples::length< boost::tuples::null_type > +template<> class tuple_size< boost::tuples::null_type >: + public boost::tuples::length< boost::tuples::null_type > { }; // std::tuple_element template - struct tuple_element< I, boost::tuples::tuple >: - boost::tuples::element< I, boost::tuples::tuple > + class tuple_element< I, boost::tuples::tuple >: + public boost::tuples::element< I, boost::tuples::tuple > { }; -template struct tuple_element< I, boost::tuples::cons >: boost::tuples::element< I, boost::tuples::cons > +template class tuple_element< I, boost::tuples::cons >: + public boost::tuples::element< I, boost::tuples::cons > { };