/
dev-npgsql
/
npgsql
Обзор
Документация
Войти
/
dev-npgsql
/
npgsql
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
v9.0.3
src/Npgsql.GeoJSON/Internal/CrsMapBuilder.cs
54 строки
1 KB
Umar Hayat
Fixed multiple typos (#5742)
05 июн 2024, 21:17
Не верифицирован
05 июн 2024, 21:17
c0888f5
Код
Авторство
О чём код?
using System; namespace Npgsql.GeoJSON.Internal; struct CrsMapBuilder { CrsMapEntry[] _overrides; int _overriddenIndex; int _wellKnownIndex; internal void Add(in CrsMapEntry entry) { var wellKnown = CrsMap.WellKnown[_wellKnownIndex]; if (wellKnown.MinSrid == entry.MinSrid && wellKnown.MaxSrid == entry.MaxSrid && string.Equals(wellKnown.Authority, entry.Authority, StringComparison.Ordinal)) { _wellKnownIndex++; return; } if (wellKnown.MinSrid < entry.MinSrid) { do _wellKnownIndex++; while (CrsMap.WellKnown.Length < _wellKnownIndex && CrsMap.WellKnown[_wellKnownIndex].MaxSrid < entry.MaxSrid); AddCore(new CrsMapEntry(wellKnown.MinSrid, Math.Min(wellKnown.MaxSrid, entry.MinSrid - 1), null)); } AddCore(entry); } void AddCore(in CrsMapEntry entry) { var index = _overriddenIndex + 1; if (_overrides == null) _overrides = new CrsMapEntry[4]; else if (_overrides.Length == index) Array.Resize(ref _overrides, _overrides.Length << 1); _overrides[_overriddenIndex] = entry; _overriddenIndex = index; } internal CrsMap Build() { if (_overrides != null && _overrides.Length < _overriddenIndex) Array.Resize(ref _overrides, _overriddenIndex); return new CrsMap(_overrides); } }