diff options
author | Jacques Lucke <jacques@blender.org> | 2021-06-28 14:13:52 +0300 |
---|---|---|
committer | Jacques Lucke <jacques@blender.org> | 2021-06-28 14:16:32 +0300 |
commit | 7d281a4f7d354d270fc9c9f3c7a65b4409362aa0 (patch) | |
tree | 6a749a4833bdf543a10d95881fcca52ba310248b /source/blender/functions/FN_generic_value_map.hh | |
parent | f7e2559fd649610881b1749b6d30cc2ba9fcbdb6 (diff) |
Functions: improve CPPType
* Reduce code duplication.
* Give methods more standardized names (e.g. `move_to_initialized` -> `move_assign`).
* Support wrapping arbitrary C++ types, even those that e.g. are not copyable.
Diffstat (limited to 'source/blender/functions/FN_generic_value_map.hh')
-rw-r--r-- | source/blender/functions/FN_generic_value_map.hh | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/source/blender/functions/FN_generic_value_map.hh b/source/blender/functions/FN_generic_value_map.hh index 4e7fe298874..33b827bf073 100644 --- a/source/blender/functions/FN_generic_value_map.hh +++ b/source/blender/functions/FN_generic_value_map.hh @@ -60,7 +60,7 @@ template<typename Key> class GValueMap { { const CPPType &type = *value.type(); void *buffer = allocator_.allocate(type.size(), type.alignment()); - type.move_to_uninitialized(value.get(), buffer); + type.move_construct(value.get(), buffer); values_.add_new_as(std::forward<ForwardKey>(key), GMutablePointer{type, buffer}); } @@ -70,7 +70,7 @@ template<typename Key> class GValueMap { { const CPPType &type = *value.type(); void *buffer = allocator_.allocate(type.size(), type.alignment()); - type.copy_to_uninitialized(value.get(), buffer); + type.copy_construct(value.get(), buffer); values_.add_new_as(std::forward<ForwardKey>(key), GMutablePointer{type, buffer}); } @@ -105,7 +105,7 @@ template<typename Key> class GValueMap { const CPPType &type = *value.type(); BLI_assert(type.is<T>()); T return_value; - type.relocate_to_initialized(value.get(), &return_value); + type.relocate_assign(value.get(), &return_value); return return_value; } |