С векторными будет еще как-то понятно:
A: 1, B: 0, C: 0 001 F
A: 1, B: 1, C: 0 002 o
A: 1, B: 2, C: 0 003 o
A: 1, B: 0, C: 1 002 u
Похоже останется только заранее установить правила сортировки операций по значению вектора.
Но тогда возникает другой вопрос: как добавлять или удалять логические часы из этого вектора. Отдельным CT?