/* Copyright 2023 Glen Joseph Fernandes (glenjofe@gmail.com) Distributed under the Boost Software License, Version 1.0. (http://www.boost.org/LICENSE_1_0.txt) */ #ifndef BHO_CORE_MAKE_SPAN_HPP #define BHO_CORE_MAKE_SPAN_HPP #include namespace bho { template inline constexpr span make_span(I* f, std::size_t c) noexcept { return span(f, c); } template inline constexpr span make_span(I* f, I* l) noexcept { return span(f, l); } template inline constexpr span make_span(T(&a)[N]) noexcept { return span(a); } template inline constexpr span make_span(std::array& a) noexcept { return span(a); } template inline constexpr span make_span(const std::array& a) noexcept { return span(a); } template inline span::type> make_span(R&& r) { return span::type>(std::forward(r)); } } /* boost */ #endif