Alice, CircularBuffer, Project
F:\Projects\VS\CircularBufferSln\CircularBufferSln.sln
F:\Projects\VS\CircularBufferSln\CircularBuffer02\CircularBuffer02.csproj
Вот полный список публичных методов и конструкторов класса ThreadSafeCircularBuffer:
Конструкторы
public ThreadSafeCircularBuffer(int size)
Основные операции
// Добавление элементов
public void EnqueueLeft(T item)
public void EnqueueRight(T item)
// Удаление элементов
public T DequeueLeft()
public T DequeueRight()
Итераторы и получение элементов
// Стандартные итераторы
public IEnumerator<T> IteratorFromLeft()
public IEnumerator<T> IteratorFromRight()
// Получение всех элементов в список
public void GetAllFromLeft(List<T> result)
public void GetAllFromRight(List<T> result)
// Получение через IEnumerable
public IEnumerable<T> GetAllFromLeft()
public IEnumerable<T> GetAllFromRight()
// Специальные итераторы с петлей
public IEnumerable<T> LoopIteratorFromLeft()
public IEnumerable<T> LoopIteratorFromRight()
Массовая обработка
// Массовое получение элементов
public void GetAllFromLeft(List<T> result)
public void GetAllFromRight(List<T> result)
public bool TryGetAllFromLeft(List<T> result)
public bool TryGetAllFromRight(List<T> result)
Изменение размера
// Изменение размера буфера
public void ReSizeFromLeft(int newSize)
public void ReSizeFromRight(int newSize)
Сдвиги элементов
// Сдвиги с вытеснением
public void ShiftLeft(int positions)
public void ShiftRight(int positions)
// Циклические сдвиги
public void RotateLeft(int positions)
public void RotateRight(int positions)
Свойства и проверки
// Базовые свойства
public int Count { get; }
public int Capacity { get; }
// Проверки состояния
public bool IsEmpty { get; }
public bool IsFull { get; }
// Получение элемента по индексу
public T Peek(int index)
Дополнительные методы
// Очистка буфера
public void Clear()
Особенности реализации
Полная потокобезопасность через ReaderWriterLockSlim
Поддержка generic-типа T
Автоматическая обработка кольцевого буфера
Эффективное использование памяти
Класс предоставляет полный набор инструментов для работы с кольцевым буфером, включая:
Базовые операции добавления/удаления
Различные способы итерации
Массовую обработку данных
Гибкую работу с размером
Безопасную многопоточную работу
Комментариев нет:
Отправить комментарий