Annotation of parser3/src/doc/pooled.dox, revision 1.3
1.2 paf 1: /** @page Pooled Pooled: работа с памятью
1.1 paf 2:
1.2 paf 3: Работа с памятью происходит так: все выделения происходят через Pool::malloc и Pool::calloc,
4: для удобства имеется Pooled родитель, инкапсулирующий класс Pool, и имеющий одноимённые обёртки:
5: Pooled::malloc и Pooled::calloc, а также функцию Pooled::pool() для доступа к самому pool'у.
6: Когда освобождается память зависит от варианта сборки:
1.3 ! paf 7: - Apache: делает это сам;
1.2 paf 8: - CGI: вообще ничего не освобождает, смерть процесса всё списывает;
9: - ISAPI extension: освобождается в Pooled:~Pooled().
1.1 paf 10:
1.3 ! paf 11: Все исключения в Parser имеют тип Exception, если возникает проблема,
! 12: следует бросить C++ исключение этого типа
! 13: @code
! 14: throw Exception("класс ошибки",
! 15: &method_name, // адрес String, содержащей текст/место ошибки
! 16: "проблема %d", error_code);
! 17: @endcode
! 18:
! 19: "Класс ошибки" следует задать один из системных, придумать хороших свой, или не задавать вовсе.
! 20: Системные классы ошибок:
! 21: - parser.compile
! 22: - parser.runtime
! 23: - number.zerodivision
! 24: - number.format
! 25: - file.missing
! 26: - file.access
! 27: - image.format
! 28: - sql.connect
! 29: - sql.execute
! 30: - xml
! 31: - smtp.connect
! 32: - smtp.execute
1.1 paf 33:
34: */
E-mail: