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