Bastien Montagne
7aced80eec
Cleanup: blenkernel: Replace 'void' MEM_[cm]allocN with templated, type-safe MEM_[cm]allocN<T>.
...
The main issue of 'type-less' standard C allocations is that there is no check on
allocated type possible.
This is a serious source of annoyance (and crashes) when making some
low-level structs non-trivial, as tracking down all usages of these
structs in higher-level other structs and their allocation is... really
painful.
MEM_[cm]allocN<T> templates on the other hand do check that the
given type is trivial, at build time (static assert), which makes such issue...
trivial to catch.
NOTE: New code should strive to use MEM_new (i.e. allocation and
construction) as much as possible, even for trivial PoD types.
Pull Request: https://projects.blender.org/blender/blender/pulls/136134
2025-03-20 11:25:19 +01:00
..
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-24 15:57:41 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-18 19:46:42 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-01-26 00:39:59 +01:00
2025-03-04 19:16:36 +01:00
2025-01-30 17:19:16 +01:00
2025-02-06 21:38:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-02-12 23:01:08 +01:00
2025-01-29 12:12:27 +01:00
2025-03-05 16:35:09 +01:00
2025-03-14 10:16:56 +01:00
2025-03-05 16:35:09 +01:00
2025-01-28 15:27:34 +01:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-03-06 13:04:39 +01:00
2025-02-28 17:58:58 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2024-09-26 21:13:39 +10:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-19 17:11:08 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-02-13 18:58:08 +01:00
2025-02-13 18:58:08 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-02-13 18:58:08 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-09 20:03:08 +01:00
2024-09-24 11:52:02 +02:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-01-14 19:55:11 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2024-10-31 11:25:41 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2024-12-13 19:36:54 +01:00
2025-01-14 19:55:11 +01:00
2025-03-11 19:06:47 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-24 12:05:25 +01:00
2024-11-12 14:46:24 +01:00
2025-03-20 11:25:19 +01:00
2025-02-24 11:32:59 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2024-12-30 11:18:39 -05:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-14 17:07:23 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-14 19:55:11 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 23:16:09 -05:00
2025-01-31 17:03:17 +01:00
2024-09-23 13:54:02 +02:00
2024-11-19 14:28:01 +01:00
2025-01-14 19:55:11 +01:00
2025-01-20 23:57:32 +01:00
2024-11-19 14:28:01 +01:00
2024-08-15 10:54:21 +02:00
2025-01-20 23:57:32 +01:00
2025-02-24 17:49:46 +01:00
2025-03-07 17:38:29 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-12 23:01:08 +01:00
2024-11-19 14:28:01 +01:00
2025-03-05 16:35:09 +01:00
2025-02-17 19:44:54 +01:00
2025-03-05 16:35:09 +01:00
2025-03-14 09:18:49 +01:00
2025-03-03 17:11:45 +01:00
2025-03-20 11:25:19 +01:00
2025-01-03 19:15:01 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-14 19:55:11 +01:00
2025-01-23 19:15:17 +01:00
2025-02-28 14:43:05 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-02-17 19:44:54 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-02-28 17:58:58 +01:00
2025-01-31 17:03:17 +01:00
2025-01-31 17:03:17 +01:00
2025-02-28 17:58:58 +01:00
2025-03-20 11:25:19 +01:00
2024-11-02 17:27:09 +11:00
2025-02-12 23:01:08 +01:00
2025-03-05 16:35:09 +01:00
2025-01-31 17:03:17 +01:00
2025-02-11 17:46:07 +01:00
2025-01-31 17:03:17 +01:00
2025-02-04 17:46:08 +01:00
2025-02-28 17:58:58 +01:00
2025-03-05 16:35:09 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-14 16:26:54 +01:00
2025-03-06 10:49:51 +11:00
2025-02-07 17:47:16 +01:00
2025-03-20 11:25:19 +01:00
2025-03-14 10:25:32 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 23:16:09 -05:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-02-17 19:44:54 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2024-12-04 16:06:36 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-03-19 14:08:37 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-03-20 11:25:19 +01:00
2025-01-07 12:39:13 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-29 17:22:51 +11:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-01-07 12:39:13 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-07 12:39:13 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-02-12 23:01:08 +01:00
2025-01-28 15:27:34 +01:00
2025-02-27 17:32:51 +01:00
2025-03-05 16:35:09 +01:00
2025-02-27 09:58:03 -05:00
2025-03-20 11:25:19 +01:00
2025-01-09 15:28:57 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-24 17:50:11 +01:00
2025-03-20 11:25:19 +01:00
2025-02-13 18:58:08 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-02-12 23:01:08 +01:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-04 17:30:16 +01:00
2024-11-01 17:27:07 +01:00
2025-01-31 17:03:17 +01:00
2025-01-07 12:39:13 +01:00
2025-01-31 17:03:17 +01:00
2025-01-31 17:03:17 +01:00
2025-01-31 17:03:17 +01:00
2025-03-04 12:04:38 -05:00
2025-03-20 11:25:19 +01:00
2025-02-19 17:11:08 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-01-28 15:27:34 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-12 23:01:08 +01:00
2025-02-26 15:56:08 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2024-10-17 21:05:18 +02:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2024-07-26 21:16:37 +02:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-02-03 04:38:58 +01:00
2025-03-20 11:25:19 +01:00
2025-03-19 14:08:37 +01:00
2024-11-07 10:36:53 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-01-28 15:27:34 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-03-05 16:35:09 +01:00
2025-02-21 07:41:34 +01:00
2025-03-05 16:35:09 +01:00
2025-01-31 17:03:17 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-20 11:25:19 +01:00
2025-03-05 16:35:09 +01:00
2025-01-06 17:21:11 +01:00
2024-11-27 19:01:00 +11:00
2025-03-20 11:25:19 +01:00
2025-01-31 17:03:17 +01:00
2025-01-28 15:27:34 +01:00
2025-03-11 18:52:23 +01:00
2025-03-11 14:39:19 +01:00
2025-03-05 16:35:09 +01:00
2025-03-17 15:16:07 +01:00