On 09/03/2020 13:39, degski via Boost wrote:
What do you mean with 'does not play nicely', I feel they opposite, no casts required, what's not to like?
Casts are surely required when you need to write a callback handler which signature is imposed `void(void* payload)` by the C library. By "not playing nicely" I mean that suddenly everything is a handle to something in the library and can live wherever the library allocated it (and that assumes that the running system even has dynamic memory allocation).
You cannot expect cross platform cross-compiler compatibility without a cost, iff that would be possible, we would already have that in C++ and C would remain a distant memory. Fact is, it's not a distant memory, and for good reason.
That's the same reasoning that makes people write brand C application code today. Janson