/
niceSOFT
/
swig
Обзор
Документация
Войти
/
niceSOFT
/
swig
Код
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Examples/python/exceptproxy/example.h
44 строки
743 B
Olly Betts
Fix random doubled spaces in code
16 ноя 2023, 23:49
16 ноя 2023, 23:49
3ce0174
Код
Авторство
О чём код?
/* File : example.h */ // A simple exception class EmptyError { }; class FullError { public: int maxsize; FullError(int m) : maxsize(m) { } }; template<typename T> class Queue { int maxsize; T *items; int nitems; int last; public: Queue(int size) { maxsize = size; items = new T[size]; nitems = 0; last = 0; } ~Queue() { delete [] items; } void enqueue(T x) { if (nitems == maxsize) { throw FullError(maxsize); } items[last] = x; last = (last + 1) % maxsize; nitems++; } T dequeue() { T x; if (nitems == 0) throw EmptyError(); x = items[(last + maxsize - nitems) % maxsize]; nitems--; return x; } int length() { return nitems; } };