78183e60e1
- Make mjTask non-opaque and remove C++ Task class. - Make C++ thread pool a subclass of a skeletal mjThreadPool C struct. - Make the mjTask status enum more consistent with the rest of MuJoCo. - Change mju_threadPoolEnqueue to take just the mjTask. Users must now prepare the mjTask by assigning the function pointer and argument into the struct. - Rename files in thread/ to be more consistent with the rest of MuJoCo. - Run threading tests in CMake. - Allow use of C++20 designated initializers. Otherwise the functionality remains identical. PiperOrigin-RevId: 564374675 Change-Id: I37c9894566bc39faf217e5aa97a4e2713a70e467