[#C50486B42C84C8E6C81A5D4356B9291CDF0F3A8F]
Return a modifiable character buffer
virtual char* prepare(std::size_t n) = 0;
This function attempts to obtain a character buffer with space for at least `n` characters. Upon success, a pointer to the beginning of the buffer is returned. Ownership is not transferred; the caller should not attempt to free the storage. The buffer shall remain valid until `this` is destroyed.
This function may only be called once. After invoking the function, the only valid operation is destruction.