Merge pull request #10 from marek-szanyi/feature/fix_gcc_compiling

Among inherited c-tors, provide explicit Struct c-tor from tuple, since that is needed according to the standard
This commit is contained in:
Stanislav Angelovič
2018-06-05 16:04:35 +02:00
committed by GitHub

View File

@ -98,12 +98,15 @@ namespace sdbus {
public:
using std::tuple<_ValueTypes...>::tuple;
// Workaround for clang (where the above constructor inheritance doesn't work)
// However, with this ctor, it doesn't work on gcc :-( TODO Investigate proper solution.
//Struct(const std::tuple<_ValueTypes...>& t)
// : std::tuple<_ValueTypes...>(t)
//{
//}
// Disable constructor if an older then 7.1.0 version of GCC is used
#if !((defined(__GNUC__) || defined(__GNUG__)) && !defined(__clang__) && !(__GNUC__ > 7 || (__GNUC__ == 7 && (__GNUC_MINOR__ > 1 || (__GNUC_MINOR__ == 1 && __GNUC_PATCHLEVEL__ > 0)))))
Struct() = default;
explicit Struct(const std::tuple<_ValueTypes...>& t)
: std::tuple<_ValueTypes...>(t)
{
}
#endif
template <std::size_t _I>
auto& get()