ce5bdecf89
Previously, the global storage of these types either used a GHash or a blender::Map. VectorSet is preferrable to GHash because it's type safe, clearer, and faster. It's preferrable to Map because the key doesn't have to be duplicated and because iteration is faster. This PR moves these registered types to VectorSet, just like the node, node socket, and node tree types. Note that none of these types use RAII for allocation, so freeing is still done manually. Testing was manually interacting with each of these systems, including with addons that register their own types. Pull Request: https://projects.blender.org/blender/blender/pulls/133778