Currently, changes *within* CDBs are not tracked (CDB has no facility to do so).
However, discovery of new CDBs are tracked (all files are marked as modified).
Also, files whose compilation commands are explicitly set are marked modified.
The intent is to use this for auto-index. Newly discovered files will be indexed
with low priority.
I assume the Event is supposed to be used only with non-reference and non-const qualified types.
Maybe add a static assert for that? Something like:
static_assert(std::is_same_v<std::decay_t<T>, T>)