std/oids
Исходный код РедактироватьПоддержка OID в Nim. OID — это глобальный идентификатор, состоящий из метки времени, уникального счётчика и случайного значения. Это сочетание должно быть достаточно для генерации глобально уникального идентификатора.
Данная реализация вызывает initRand() при первом вызове genOid.
Импорты
- hashes, times, endians, random, decode_helpers
Типы
Oid = object
- Объект OID. Исходный код Редактировать
Процедуры
proc `$`(oid: Oid): string {....raises: [], tags: [], forbids: [].}- Преобразует OID в строку. Исходный код Редактировать
proc `==`(oid1: Oid; oid2: Oid): bool {.inline, ...raises: [], tags: [], forbids: [].}- Сравнивает два OID на равенство. Исходный код Редактировать
proc generatedTime(oid: Oid): Time {....raises: [], tags: [], forbids: [].}- Возвращает сгенерированную метку времени OID. Исходный код Редактировать
proc genOid(): Oid {....raises: [], tags: [TimeEffect], forbids: [].}- Генерирует новый OID.
Пример:
doAssert ($genOid()).len == 24
Пример: cmd: -r:off
echo $genOid() # for example, "5fc7f546ddbbc84800006aaf"
Исходный код Редактировать proc hash(oid: Oid): Hash {....raises: [], tags: [], forbids: [].}- Генерирует хеш OID для использования в хеш-таблицах. Исходный код Редактировать
proc hexbyte(hex: char): int {.inline, ...raises: [], tags: [], forbids: [].}- Исходный код Редактировать
proc parseOid(str: cstring): Oid {....raises: [], tags: [], forbids: [].}- Парсит OID. Исходный код Редактировать
© 2006–2024 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/oids.html