11 template<
typename T,
typename... Args>
15 return new (memory_ptr) T{ ice::forward<Args>(args)... };
18 template<
typename T,
typename... Args>
28 return new (memory_ptr) T{ ice::move(other) };
42 return new (memory.location) T{ other };
49 T* target_mem =
reinterpret_cast<T*
>(memory.location);
52 new (target_mem + idx) T{ };
61 T* target_mem =
reinterpret_cast<T*
>(memory.location);
64 new (target_mem + idx) T{ ice::move(objects[idx]) };
74 target_objects[idx] = ice::move(objects[idx]);
76 return target_objects;
83 T* target_mem =
reinterpret_cast<T*
>(memory.location);
86 new (target_mem + idx) T{ objects[idx] };
91 template<
typename T,
typename ItT>
94 T*
const target_mem =
reinterpret_cast<T*
>(memory.location);
98 new (target_mem + idx) T{ *begin };
SPDX-License-Identifier: MIT.
Definition array.hxx:12
auto mem_move_n_to(T *target_objects, T *objects, ice::u64 count) noexcept -> T *
Definition mem_initializers.hxx:70
auto mem_copy_construct_at(ice::Memory memory, T const &other) noexcept -> T *
Definition mem_initializers.hxx:39
auto mem_move_construct_at(void *memory_ptr, T &&other) noexcept -> T *
Definition mem_initializers.hxx:26
auto mem_move_construct_n_at(ice::Memory memory, T *objects, ice::u64 count) noexcept -> T *
Definition mem_initializers.hxx:58
void mem_destruct_n_at(T *location, ice::u64 count) noexcept
Definition mem_initializers.hxx:113
std::uint64_t u64
Definition types.hxx:27
auto mem_copy_construct_it_at(ice::Memory memory, ItT begin, ItT end) noexcept -> T *
Definition mem_initializers.hxx:92
auto mem_default_construct_n_at(ice::Memory memory, ice::u64 count) noexcept -> T *
Definition mem_initializers.hxx:46
auto mem_copy_construct_n_at(ice::Memory memory, T const *objects, ice::u64 count) noexcept -> T *
Definition mem_initializers.hxx:80
constexpr auto count(T const (&)[Size]) noexcept -> ice::u32
Definition base.hxx:43
void mem_destruct_at(T *location) noexcept
Definition mem_initializers.hxx:107
auto mem_construct_at(void *memory_ptr, Args &&... args) noexcept -> T *
Definition mem_initializers.hxx:12
Definition mem_memory.hxx:13