Currently, I'm using std::vector<char>
like this:
char data, data2, data3;
vec.push_back(data);
vec.push_back(data2);
vec.push_back(data3);
However, since I'm storing binary data, sometimes I need to push data of different sizes (i.e. not a single char), and I need to manually split that data into single bytes, which is not convenient or readable.
Something like this would be perfect:
buffer.push<int>(some_int); // some_int = 0xAABBCCDD
buffer.push<char>(some_char); // some_char = 0xFF
buffer.push("arbitrary_data", arbitrary_length);
The resulting memory would be:
AA BB CC DD FF ...........
// ^ int
// ^ char
Is there any standard way of doing it, or I need libraries / own implementation?