But compared to the example code in the article this void_buffer would be significantly more difficult to write and/or use, more verbose and less readable due to fragmentation into multiple classes, and (in view of future evolutions of the code) also less general.
> would be significantly more difficult to write and/or use
1. It would be no more difficult to write and use than the larger class. After all, you can use the larger class as a void_buffer with some dummy extra fields.
2. You can put the class in a detail_ sub-namespace, or make it an inner class of ObjectType, and then people will avoid using it in other, general contexts.