#ifndef PYTHONIC_BUILTIN_SET_UNION_HPP #define PYTHONIC_BUILTIN_SET_UNION_HPP #include "pythonic/include/builtins/set/union_.hpp" #include "pythonic/types/set.hpp" #include "pythonic/utils/functor.hpp" PYTHONIC_NS_BEGIN namespace builtins { namespace set { template typename __combined, Types...>::type union_(types::set const &set, Types const &... others) { return set.union_(others...); } template typename __combined::type union_(types::empty_set const &init, Types const &... others) { return union_(others...); } template types::set union_(types::set const &set) { return set; } template typename __combined::type union_(T const &set) { return {set}; } types::empty_set union_(types::empty_set const &init) { return types::empty_set(); } } } PYTHONIC_NS_END #endif