Example #1
0
        public StringList(IPointerTable pointerTable, IStringConverter stringConverter, int maxSize, int capacity) : base(capacity)
        {
            _pointerTable    = pointerTable;
            _maxSize         = maxSize;
            _stringConverter = stringConverter;

            var stringTableStart = pointerTable.Min(p => p.Offset);

            _currentSize = _pointerTable.Max(p => _stringConverter.GetLength(p) + p.Offset - stringTableStart);
        }