|
constexpr auto * | nngn::data_end (std::ranges::contiguous_range auto &&r) |
|
template<typename T > |
void | nngn::resize_and_init (T *p, std::size_t n, auto &&f) |
|
template<typename V > |
void | nngn::set_capacity (V *v, size_t n) |
|
template<std::size_t N> |
consteval auto | nngn::to_array (const char *s) |
|
template<std::size_t N> |
consteval auto | nngn::to_array (const char(&s)[N]) |
|
template<std::size_t N> |
consteval auto | nngn::to_array (const std::ranges::contiguous_range auto &r) |
|
template<std::size_t N, std::ranges::view V> |
consteval auto | nngn::to_array (V &&v) |
|
constexpr bool | nngn::contains (const std::ranges::contiguous_range auto &r, const auto &x) |
|
constexpr bool | nngn::in_range (const std::ranges::contiguous_range auto &r, const auto &x) |
|
template<std::ranges::forward_range R, typename Proj = std::identity> |
constexpr bool | nngn::is_sequence (R &&r, Proj proj={}) |
|
template<std::ranges::range R> |
constexpr void | nngn::iota (R &&r, std::ranges::range_value_t< R > &&x={}) |
|
constexpr auto | nngn::reduce (std::ranges::range auto &&r) |
|
constexpr auto | nngn::reduce (std::ranges::range auto &&r, auto &&init={}, auto &&op=std::plus<>{}) |
|
void | nngn::const_time_erase (auto *v, auto *p) |
|
template<std::input_iterator I, std::output_iterator< std::iter_value_t< I > > O> |
constexpr void | nngn::fill_with_pattern (I f, I l, O df, O dl) |
|
constexpr void | nngn::fill_with_pattern (std::ranges::range auto &&p, std::ranges::range auto &&r) |
|
template<typename T > |
constexpr T * | nngn::memcpy (T *dst, std::ranges::contiguous_range auto &&r) |
|
template<typename T > |
constexpr T * | nngn::memmove (T *dst, std::ranges::contiguous_range auto &&r) |
|