This is a slightly simpler way to create a DataBuffer instance that uses type deduction.
encapsulates using a local array as a temporary buffer. It is initialized with the local array that should be large enough for most uses. If the need exceeds the size, DataBuffer will resize it using malloc() and friends.