>>107511164
copy-on-write paradigm works well in c++ with const overloads
(consider this pseudo code)
class FileFormat
{
char* mmapped_buffer;
std::vector<Field> mutatedFields;
std::map<size_t, size_t> mutatedFieldsMap;
public:
Field& GetField(size_t n)
{
if(mutatedFieldsMap.find(n) == mutatedFieldMap.end())
{
mutatedFields.emplace_back( Field{ mmapped_buffer + (n*sizeof(Field))} );
Comment too long. Click here to view the full text.