#include "tensorstore/kvstore/generation.h"
std::string tensorstore::StorageGeneration::value;

The generation is indicated by a variable-length byte string (the “generation identifier”) followed by a sequence of bytes containing a bitwise-OR combination of the flags defined below:

The flag bytes are parsed from the end of value in reverse. The start of the flag bytes is indicated by a flag byte with kBaseGeneration set. For example, clean generation with identifier gen_id:

gen_id + kBaseGeneration

Dirty generation with identifier gen_id:

gen_id + (kBaseGeneration|kDirty)

Clean “no value” generation indicating a key not present in the store:

gen_id + (kBaseGeneration|kNoValue)

Dirty generation derived from “no value” generation:

gen_id + (kBaseGeneration|kNoValue|kDirty)