#ifndef SPROUT_ARRAY_MAKE_ARRAY_HPP #define SPROUT_ARRAY_MAKE_ARRAY_HPP #include #include #include #include #include #include #include namespace sprout { // // make_array // template inline SPROUT_CONSTEXPR sprout::array make_array(Types&&... args) { return sprout::array{{sprout::forward(args)...}}; } // // make_common_array // template inline SPROUT_CONSTEXPR sprout::array< typename sprout::common_decay::type...>::type, sizeof...(Types) > make_common_array(Types&&... args) { typedef sprout::array< typename sprout::common_decay::type...>::type, sizeof...(Types) > type; return type{{sprout::forward(args)...}}; } } // namespace sprout #endif // #ifndef SPROUT_ARRAY_MAKE_ARRAY_HPP