Математические классы С+
Данный раздел описывает математические операции Borland С++
на основе классов С++. Эти операции можно использовать только в
программах C++. Однако программа С++ может использовать любые
стандартные математические подпрограммы Си ANSI.
Числовые типы строятся на основе двух классов - bcd и complex. Наряду с этими числовыми типами каждый класс определяет
функции для выполнения операций с соответствующими типами. Каждый
класс также переопределяет все необходимые операции.
Класс bcd (bcd.h)
Конструкторы этого класса создают двоично-кодированные десятичные числа (BCD), от целых до чисел с плавающей точкой. С помощью описанной ниже функции real можно конвертировать числа bcd в long double.
После построения чисел bcd их можно использовать в выражения
совместно с другими типами и применять в стандартных математических функциях. Такие математические функции как abs, cos или sqrt для операций с bcd переопределяются. Переопределяются также операции +, -, *= , == и т.д. Числа bcd могут иметь точность до 17
разрядов и диапазон от 1*10^-125 до 1*10^125.
Функции-элементы
Constructor | Определяет переменную bcd различных типов.
|
Дружественные функции
real | Используется для конвертирования двоично-десятичного числа обратно в long double.
|
Класс complex (comnplex.h)
Создает комплексные числа. Вы можете свободно использовать
эти числа в выражениях совместно с числами int, double и другими
числовыми типами, а также стандартными математическими функциями Си.
Класс complex переопределяет операции +, -, *, /, +=, -=,
*=, /=, == и !=. Для потокового ввода-вывода переопределяются
операции >> и <<.
Функции-элементы
Constructor | Создает из double числовой тип complex с мнимой и вещественной частью.
|
Дружественные функции
abs | Возвращает абсолютное значение комплексного числа.
|
acos | Вычисляет арккосинус.
|
arg | По числу в комплексной плоскости возвращает
угол в радианах.
|
asin | Вычисляет арксинус.
|
atan | Вычисляет арктангенс.
|
conj | Возвращает для комплексного числа комплексносопряженное.
|
cos | Вычисляет значение косинуса.
|
cosh | Вычисляет значение гиперкосинуса.
|
exp | Вычисляет экспоненциальное значение e в степени y.
|
imag | Возвращает мнимую часть комплексного числа.
|
log | Вычисляет натуральный логарифм аргумента.
|
log10 | Вычисляет десятичный логарифм аргумента.
|
norm | Вычисляет квадрат абсолютного значения аргумента.
|
polar | Возвращает комплексное число с заданной величиной (абсолютным значением) и углом.
|
pow | Возводит аргумент в степень e.
|
real | Используется для преобразования комплексного
числа в long double.
|
sin | Вычисляет синус.
|
sinh | Вычисляет гиперсинус.
|
sqrt | Вычисляет положительный квадратный корень.
|
tan | Вычисляет тригонометрический тангенс.
|
tanh | Вычисляет гиберболический тангенс.
|
Диагностические макрокоманды
Для отладки программного кода С++ предусмотрен ряд макрокоманд, которые находятся в check.h. Их можно использовать в Windows и DOS. Существует два типа макрокоманд - заданные по умолчанию (CHECK, PRECONDITION, TRACE и WARN) и расширенные (CHECKX, PRECONDITIONX, TRACEX и WARNX).
Заданные по умолчанию макрокоманды предусматривают простую
проверку значений и вывод сообщений. Расширенные макрокоманды
позволяют создавать макрогруппы и избирательно разрешать или запрещать их. Расширенные макрокоманды позволяют вам избирательно разрешать или запрещать макрокоманды на основе порогового значения.
Управлять расширением диагностических макрокоманд можно с
помощью трех предопределенных идентификаторов препроцессора:
__DEBUG__, __TRACE и __WARN. Если при компиляции определяется
один из этих идентификаторов (с помощью параметра -D), то расширяются соответствующие макрокоманды, и генерируется диагностический код.
Диагностические макрокоманды разрешаются согласно следующему правилу:
__DEBUG=1 __DEBUG=2 __TRACE _WARN
PRECONDITION Ч Ч
PRECONDITIONX Ч Ч
CHECK Ч
CHECKX Ч
TRACE Ч
TRACEX Ч
WARN Ч
WARNXЧ
Чтобы создать диагностическую версию выполняемой программы,
разместите в ее важнейших точках диагностические макрокоманды и
скомпилируйте а разрешением соответствующего идентификатора. Диагностическая версия библиотек классов строится аналогично.
Используемые по умолчанию макрокоманды диагностики
Макрокоманда | Назначение
|
---|
CHECK | Выводит заданное в аргументе условие и генерирует исключительную ситуацию, если это условие равно 0. Используйте ее для проверки
значений в функции.
|
PRECONDITION | Выводит заданное в аргументе условие и генерирует исключительную ситуацию, если это условие равно 0. Используйте ее для проверки
допустимости аргументов функции или проверки
корректности вызова функции.
|
TRACE | Выводит заданное в аргументе сообщение. Используется для вывода общих сообщений, не зависящих от конкретного условия.
|
WARN | Выводит заданное сообщение, если определенное
в аргументе условие не равно 0. Используется
для условного вывода сообщений.
|
Расширенные макрокоманды диагностики
Макрокоманда | Назначение
|
---|
CHECKX | Выводит заданное сообщение и генерирует
исключительную ситуацию, если определенное в аргументе условие равно 0.
Данную макрокоманду можно использовать
для проверки значения в функции.
|
PRECONDITIONX | Выводит заданное сообщение и генерирует
исключительную ситуацию, если определенное в аргументе условие равно 0.
Данную макрокоманду можно использовать
на входе в функцию для проверки корректности ее вызова.
|
TRACEX | Трассирует только при разрешении за данных в аргументах группы и уровня.
|
WARNX | Выводит предупреждение только при раз решении заданных в аргументах группы и уровня.
|
DIAG_DECLARE_GROUP | Описывает группу с заданным в аргументе именем.
|
DIAG_DEFINE_GROUP | Определяет группу с заданным в аргументе именем.
|
DIAG_CREATE_GROUP | Определяет и описывает группу с заданным в аргументе именем.
|
DIAG_ENABLE | Устанавливает флаг разрешения указанной
группы в заданное значение.
|
DIAG_ISENABLED | Если заданная группа разрешена, возвращает ненулевое значение.
|
DIAG_SETLEVEL | Устанавливает пороговый уровень задан ной группы в указанное значение.
|
DIAG_DETLEVEL | Получает пороговый уровень заданной группы.
|
При использовании TRACEX и WARNX требуется возможность создания групп. Пороговые уровни представляют собой произвольные
числовые значения, устанавливающие порог разрешения макрокоманд.
Макрокоманда с большим пороговым уровнем, чем пороговый уровень
группы, выполняться не будет. Например, если группа имеет пороговый уровень 0 (значение по умолчанию), то все макрокоманды в
группе с уровнем 1 или выше игнорируются.
Поддержка этапа выполнения
В данном разделе в алфавитном порядке описываются функции и
классы, обеспечивающие поддержку этапа выполнения.
Класс Bad_cast (typeinfo.h)
Если при приведении типа ссылки dynamic_cast завершается неуспешно, то выражение генерирует особую ситуацию Bad_cast (в случае указателя генерируется нулевой указатель).
Класс Bad_typeid (typeinfo.h)
Когда операнд typeid разыменовывается в нулевой указатель,
то операция typeid может генерировать Bad_typeid.
Функция set_new_handler (new.h)
Устанавливает функцию, вызываемую, когда operator new() или
operator new[] не могут выделить запрошенную память. По умолчанию
операции new генерируют в этом случае исключительные ситуации
xalloc. Это поведение можно переопределить вызовом для установки
нового обработчика set_new_handler. Для возврата к обычной версии
используйте set_new_handler(0).
Заданный пользователем обработчик должен выполнять возврат
после освобождения памяти, генерировать исключительную ситуацию
xalloc и вызывать функции abort или exit.
Функция set_termionate (except.h)
Позволяет вам установить функцию, определяющую поведение
программы при ее завершении, когда не найден обработчик исключительной ситуации. Заданная функция описывается как функция типа
terminate_function. Такая функция не имеет аргументов и возвращает void.
По умолчанию указанная исключительная ситуация возникает при
вызове в программе функции terminate. Обычно это приводит к вызову abort. Затем программа завершается с сообщением "Abnormal
program termination". Если вы хотите вызывать в terminate другую
функцию, то можете ее определить. Такая функция называется функцией завершения и позволяет вам выполнять действия, не реализованные в abort. Функция завершения не должна возвращаться в terminate.
Функция set_unexpected (except.h)
Позволяет установить функцию, определяющую поведение программы при возникновении исключительной ситуации, не описанной в
списке спецификаций. Действия описываемой функции зависят от типа
функции. Функция типа unexpected_function - это функция без аргументов, возвращающая void.
По умолчанию непредвиденные исключительные ситуации приводят
к вызову unexpected. Если определена unexpected_func, то unexpected вызывает далее unexpected_func, куда и передается управление
программой. В противном случае вызывается terminate. По определению unexpected_func не возвращает управление в unexpected.
Функция terminate (except.h)
Вызывается функцией unexpeccted или программой, если не найден обработчик исключительной ситуации. По умолчанию она вызывает
функцию abort. Вы можете модифицировать способ завершения программы при генерации исключительной ситуации, не перечисленной в
списке спецификаций. Если вы не хотите, чтобы программа завершалась вызовом abort, то можете определить собственную функцию.
Класс Type_info (typeinfo.h)
Обеспечивает информацию о типе.
Функции-элементы
Constructor | Обеспечивает сравнение информации о типах.
|
before | Используется для сравнения лексического порядка типов
|
frame | Возвращает печатаемую строку, идентифицирующую имя операнда typeid.
|
name | Аналогична frame, но frame используется в
большой модели памяти.
|
Функция unexpected (except.h)
Вызывается, когда функция генерирует исключительную ситуацию, не перечисленную в списке спецификаций. Программа вызывает
unexpected, которая по умолчанию вызывает определенную пользователем функцию, зарегистрированную с помощью set_unexpected. Если
такой зарегистрированной функции нет, то вызывается terminate.
Функция unexpected не возвращает управления, однако может генерировать исключительную ситуацию.
Класс xalloc (except.h)
Сообщает об ошибке при запросе распределения памяти.
Функции-элементы
Constructor | Этот класс не имеет заданного по умолчанию
конструктора. Каждое использование xalloc
должно определять сообщение, выводимое при
невозможности выделения памяти заданного размера.
|
raise | Приводит к вызову xalloc.
|
requested | Возвращает число байт, запрошенных при распределении.
|
Класс xmsg (except.h)
Выводит сообщение, соответствующее исключительной ситуации.
Функции-элементы
Constructor | Этот класс не имеет заданного по умолчанию
конструктора. Каждый объект xmsg должен определять сообщение явным образом.
|
raise | Приводит к вызову xmsg.
|
why | Выводит строку, использованную для построения
xmsg. Каждый экземпляр должен иметь уникальное сообщение.
|
Вспомогательные классы С++
Ниже перечислены вспомогательные классы С++: классы даты,
классы файлов, строковые классы, классы нитей и классы времени.
Класс TDate (date.h)
Класс TDate представляет дату. Он имеет элементы для чтения,
записи и преобразования даты.
Функции-элементы
Constructor | Строит объект TDate.
|
AsString | Конвертирует объект TDate в строку.
|
Between | Возвращает 1, если объект TDate находится
между двумя заданными датами.
|
CompareTo | Возвращает 1, если целевой TDate больше параметра TDate, или -1, если меньше.
|
Day | Возвращает день в году (от 1 до 365).
|
DayName | Возвращает строку с именем дня недели.
|
DayOfMonth | Возвращает число месяца (от 1 до 31).
|
DayOfWeek | Возвращает число, связанное с именем дня недели.
|
DaysInYear | Возвращает число дней в указанном году.
|
DayWithinMonth | Возвращает 1, если заданный день года находится в указанном месяце.
|
FirstDayOfMonth | Для заданного TDate возвращает номер первого
дня в месяце.
|
Hash | Возвращает для даты хеш-значение.
|
IndexOfMonth | Возвращает номер указанного месяца (от 1 до
12).
|
IsValid | Возвращает 1, если TDate является допустимым,
и 0 в противном случае.
|
Jday | Преобразует дату григорианского календаря в
соответствующую дату юлианского.
|
Leap | Возвращает 1, если год TDate является високосным, и 0 в противном случае.
|
Max | Сравнивает данный TDate с заданным аргументом
даты и возвращает дату с большим юлианским числом.
|
Min | Сравнивает данный TDate с заданным аргументом
даты и возвращает дату с меньшим юлианским числом.
|
Month | Возвращает для данного TDate номер месяца.
|
MonthName | Возвращает название месяца по его номеру.
|
NameOfDay | Возвращает для данного TDate название дня.
|
NameOfMonth | Возвращает для данного TDate название месяца.
|
Previous | Возвращает для TDate предыдущий dayTime или
наоборот.
|
SetPrintOption | Устанавливает для всех объектов TDate параметр печати и возвращает старые значения.
|
WeekDay | Возвращает номе дня недели.
|
Year | Возвращает для данного TDate год.
|
AssertIndexOf-Month | Возвращает 1, если заданный аргумент лежит между 1 и 12 включительно, иначе возвращается 0.
|
AssertWeekDay-Number | Возвращает 1, если заданный аргумент лежит между 1 и 7 включительно, иначе возвращается 0.
|
Кроме того, для данного класса определены операции <, <==,
>, <=, >=, ==, !=, -, +, ++, --, +=, -=, << и >>.
Класс TFileStatus (file.h)
Инкапсулирует стандартные операции с файлами и характеристики файлов.
Элементы данных
FileNull | Представляет нулевой описатель файла.
|
O_RONLY, O_RDWR, O_WRONLY, O_CREAT | O_TRUNC, O_CREAT | O_EXCL, O_APPEND, SH_COMPAT, SH_DENYNONE, SH_DENYRD, SH_DENYWR, O_NOINHERIT | Режимы трансляции файла и совместного использования.
|
S_READ, S_WRITE, S_IREAD | S_WRITE |
Полномочия на чтение и запись.
|
Функции-элементы
Constructor | Создает объект TFile с заданными атрибутами.
|
Close | Закрывает файл. В случае успешного выполнения
возвращается 0.
|
Flush | Выполняет все незавершенные операции ввода-вывода.
|
GetHandle | Возвращает описатель файла.
|
GetStatus | Возвращает текущий статус файла.
|
IsOpen | Возвращает 1, если файл открыт, и 0 в противном случае.
|
Lenght | Возвращает длину файла.
|
LockRange | Блокирует заданное число байт, начиная с указанной позиции.
|
Open | Открывает файл и указанным именем и атрибутами.
|
Position | Возвращает текущую позицию от начал файла.
|
Read | Считывает из файла в буфер заданное число
байт.
|
Remove | Переименовывает заданный файл, присваивая ему
указанное имя.
|
Seek | Изменяет позицию указателя файла, устанавливая его в заданное смещение от начала.
|
SeekToBegin | Перепозиционирует указатель файла на начало
файла.
|
SeekToEnd | Перепозиционирует указатель файла на конец
файла.
|
SetStatus | Устанавливает статус заданного файла.
|
UnlockRange | Разблокирует диапазон байт в заданной позиции.
|
Write | Записывает заданное число байт из буфера в
файл.
|
Класс String (cstring.h)
Данный класс использует метод, который называется копированием при записи. В случае чтения несколько экземпляров строки могут ссылаться на одни и те же данные. При записи данных в строку, если на нее ссылаются несколько строк, автоматически создается
копия.
Функции-элементы
Constructor | Строит строку различных видов.
|
Destructor | Уничтожает строку и освобождает все выделенные объекту ресурсы.
|
ansi_to_oem | Преобразует целевую строку из ANSI в OEM.
|
append | Присоединяет строку к целевой строке.
|
assign | Присваивает строку целевой строке.
|
compare | Сравнивает целевую строку с заданной строкой.
В зависимости от результата сравнения возвращается результат больший, равный или меньший
нулю.
|
contain | Возвращает 1, если заданная строка содержится
в целевой строке, и 0 в противном случае.
|
copy | Копирует заданное число символов из целевой
строки в указываемый массив и возвращает число скопированных символов.
|
c_str | Возвращает указатель на завершающийся нулем
массив символов, который содержит те же символы, что и строка. Возвращаемый указатель
должен указывать на фактическое содержимое
строки или на массив.
|
find | Находит первое вхождение строки в целевой
строке, возвращая позицию в этой строке. Допускает использование регулярных выражений.
|
find_first_of | Находит первое вхождение в целевой строке любого символа, содержащегося в заданной строке. В случае успешного поиска возвращает позицию символа.
|
find_first_not_of | Находит первое вхождение в целевой строке любого символа, не содержащегося в заданной строке. В случае успешного поиска возвращает позицию символа.
|
find_last_of | Находит последнее вхождение в целевой строке любого символа, содержащегося в заданной строке. В случае успешного поиска возвращает позицию символа.
|
find_last_not_of | Находит последнее вхождение в целевой строке любого символа, не содержащегося в заданной строке. В случае успешного поиска возвращает позицию символа.
|
get_at | Возвращает символ в заданной позиции.
|
get_case_sensitive_flag | Возвращает 0, если при в операциях сравнения строк различается регистр символов, и 1 в противном случае.
|
get_initial_capacity | Возвращает число символов, которые поместятся в строке без изменения ее размера.
|
per_max_size | Возвращает размер доступного свободного пространства после изменения размера строки.
|
get_paranoid_checkid | Возвращает 1 при разрешении проверки parano.
|
get_resize_increment | Возвращает величину увеличения строки.
|
get_skipwhitespace_flag | Возвращает 1 при пропуске пробелов и 0 в
противном случае.
|
hash | Возвращает хеш-значение.
|
initial_capacity | Устанавливает емкость начальной строки.
|
is_null | Возвращает 1, если строка пуста, и 0 в противном случае.
|
length | Возвращает число символов в целевой строке.
|
max_waste | Устанавливает максимальный размер свободного
пространства и изменять размер строки.
|
oem_to_ansi | Функция Windows для преобразования целевой
строки из ANSI и OEM.
|
prepend | Присоединяет к заданной строке целевую строку.
|
put_at | Заменяет символ в заданной позиции указанным
символом.
|
read_file | Считывает данные из входного потока, пока не
встретится EOF или нулевой символ.
|
read_line | Считывает данные из входного потока, пока не
встретится EOF или символ новой строки.
|
read_string | Считывает данные из входного потока, пока не
встретится EOF или нулевой символ.
|
read_to_delim | Считывает данные из входного потока, пока не
встретится EOF или ограничитель.
|
read_token | Считывает данные из входного потока, пока не
встретится пробел (начальные пробелы пропускаются).
|
rfind | Находит последнее вхождение заданной строки в
целевой строке, возвращая позицию начала этой строки.
|
remove | Удаляет символы, начиная с заданной позиции
до конца целевой строки и возвращает ссылку на результат.
|
replace | Удаляет из целевой строки заданное число символов, начиная заданной позиции, и заменяет их копией указанной строки.
|
reserve | Возвращает зависящее от реализации значение,
указывающее текущий внутренний размер хранения (всегда больше длины length()).
|
resize | Изменяет размер строки на заданное число символов, при необходимости усекая или добавляя пробелы.
|
resize_increment | Устанавливает размер приращения для автоматического изменения размера.
|
set_case_sensitive | Задает различимость регистра символов.
|
set_paranoid_check | При поиске строки используется хеш-значение. Есть вероятность, что две строки будут иметь одно хеш-значение. Вызов этой функции обеспечивает проверку такой ситуации.
|
skip_whitespace | Задает пропуск символов при считывании лексемы или интерпретацию их как значащих символов.
|
strip | Отсекает заданное число символов, начиная с
конца или начала строки.
|
substr | Создает строку, содержащую копию символов,
начиная с заданной позицию до конца целевой строки.
|
substring | Создает объект TSubString, содержащий копию
символов, на которые указывает параметр.
|
to_lower | Преобразует строку в нижний регистр.
|
to_upper | Преобразует строку в верхний регистр.
|
assert_element | Если задан недопустимый элемент, порождает
исключительную ситуацию outrange.
|
assert_index | Если задан недопустимый индекс, порождает
исключительную ситуацию outrange.
|
valid_element | Возвращает 1, если позиция задает элемент
строки, и 0 в противном случае.
|
valid_index | Возвращает 1, если позиция задает допустимый индекс строки, и 0 в противном случае.
|
Для строк определены также операции =, +=, +, [], (), ==,
!=, <, <=, >, >=, >> и <<.
Класс TSubString (cstring.h)
Используется для выбранных подстрок.
Функции-элементы
get_at | Возвращает символ в заданной позиции. Если
позиция > length()-1, то генерируется исключительная ситуация.
|
is_null | Возвращает 1, если строка пуста, и 0 в противном случае.
|
length | Возвращает длину подстроки.
|
put_at | Заменяет символ в заданной позиции. Если позиция > length(), то генерируется исключительная ситуация.
|
start | Возвращает индекс начального символа.
|
to_lower | Преобразует подстроку в нижний регистр.
|
to_upper | Преобразует подстроку в верхний регистр.
|
assert_element | Возвращает 1, если заданная позиция представляет допустимый индекс в подстроке, и 0 в противном случае.
|
Для подстрок определены также операции =, (), [], ==, != и !.
Класс TCriticalSection (thread.h)
Этот класс обеспечивает системно-независимый интерфейс для
критических секций нитей. Объект этого класса может использоваться в сочетании с объектами TCritical::Lock чтобы гарантировать,
что в каждый момент времени в критической части кода может выполняться только одна нить.
Функции-элементы
Constructor | Строит объект TCriticalSection.
|
Destructor | Уничтожает этот объект.
|
Класс TCriticalSection::Lock (thread.h)
Этот вложенный класс блокирует и разблокирует критические
секции (участки программы), где допускается выполнение только одной нити.
Функции-элементы
Constructor | Запрашивает блокировку объекта TCriticalSection. Если не установлена блокировка этого объекта другим объектом, то блокировка разрешается, и выполнение продолжается.
|
Destructor | Снимает блокировку.
|
Класс TMutex (thread)
Этот класс обеспечивает системно-независимый интерфейс для
критических секций в нитях. Объекты этого класса можно использовать в сочетании с TMutex::Lock и обеспечивать выполнение любой
защищенной блокировкой секции кода только одной нитью.
Разница между классами TMutex и TCritical в том, что при
создании блокировки с использованием TMutex можно задать
тайм-аут, и объект TMutex имеет описатель HANDLE, который может
использоваться вне класса.
Функции-элементы
Constructor | Строит объект TMutex.
|
Destructor | Уничтожает объект TMutex.
|
HANDLE | Возвращает описатель соответствующего объекта
семафора Windows NT.
|
Класс TMutex::Lock (thread.h)
Этот вложенный класс управляет блокировкой и разблокировкой объектов TMutex.
Функции-элементы
Constructor | Запрашивает блокировку объекта TMutex. Если
никакой объект в другой нити не установил блокировку на объекте TMutex, то блокировка
допускается и выполнение продолжается. В противном случае запрашивающая нить блокируется, пока блокировка не будет снята.
|
Release | Отменяет блокировку объекта TMutex.
|
Класс TSync (thread.h)
TSync обеспечивает системно-независимый интерфейс для построения классов-мониторов - классов, в конкретной реализации которых может выполняться только одна функция-элемент. TSync использует TCriticalSection, не имеет общедоступных элементов и может
использоваться только в базовом классе.
Функции-элементы
Constructor | Используемый по умолчанию конструктор или
конструктор копирования. Не копирует объект
TCriticalSection.
|
Operator = | Присваивает объект цели и не копирует объект
TCriticalSection.
|
Класс TSync::Lock (thread.h)
Этот вложенный класс управляет блокировкой и разблокировкой критических секций.
Функции-элементы
Constructor | Запрашивает блокировку критической секции
объекта TSync, на который указывает параметр.
Если никакой объект в другой нити не установил блокировку на объекте TCriticalSection,
то блокировка допускается и выполнение продолжается. В противном случае запрашивающая
нить блокируется, пока блокировка не будет
снята.
|
Destructor | Снимает блокировку.
|
Класс TThread (thread.h)
Обеспечивает для нитей системно-независимый интерфейс. Состояния нити определяются следующим образом:
Состояние | Описание
|
---|
Created | Объект создан, но нить не запущена. Это состояние может перейти только в Running, что происходит при вызове Start.
|
Running | Нить успешно запущена. Пользователь может вызвать Suspend, приостановив выполнение нити. Resume возобновляет выполнение. Когда нить завершается, объекты переходят в состояние Finished.
|
Suspended | Нить приостановлена пользователем. Resume возобновляет выполнение.
|
Finished | Нить завершила выполнение. Допустимые переходы
из этого состояния отсутствуют.
|
Функции-элементы
Constructor | Строит объект TThread.
|
Destructor | Уничтожает объект TThread.
|
GetPriority | Получает приоритет нити.
|
GetStatus | Возвращает текущее состояние нити.
|
Resume | Возобновляет выполнение приостановленной нити.
|
Start | Возобновляет выполнение нити и возвращает ее
описатель.
|
SetPriority | Устанавливает приоритет нити.
|
Suspend | Приостанавливает выполнение нити.
|
Terminate | Устанавливает внутренний флаг, который указывает, что нить должна завершиться. Производный класс может проверять состояние с помощью
ShouldTerminate.
|
TerminateAndWait | Комбинирует поведение Terminate и WaitForExit. Устанавливает внутренний флаг завершения нити и блокирует вызывающую нить на время существования внутренней нити или пока не истечет время тайм-аута.
|
WaitForExit | Блокирует вызывающую нить на время существования внутренней нити или пока не истечет
время тайм-аута.
|
ShouldTerminate | Возвращает ненулевое значение, показывающее
что вызвана функция Terminate или TerminateAndWait, и что нить завершила обработку и завершилась.
|
operator = | Операция присваивания нити.
|
Класс TTread::TThreadError (thread.h)
Определяет исключительные ситуации, которая генерируется в
случае нитевой ошибки.
Типы ошибок
Ошибка | Описание
|
---|
SuspendBeforeRun | Пользователь вызвал Suspend перед вы зовом Start.
|
ResumeBeforeRun | Пользователь вызвал Resume перед вы зовом Start.
|
ResumeDuringRun | Пользователь вызвал Resume для нити,
которая не была приостановлена.
|
SuspendAfterExit | Пользователь вызвал Suspend для объекта, нить которого уже завершилась.
|
ResumeAfterExit | Пользователь вызвал Resume для объекта, нить которого уже завершилась.
|
CreationFailure | Операционная система не смогла создать нить.
|
DestroyBeforeExit | Перед завершением нити вызван деструктор объекта.
|
AssignError | Попытка присвоить объект, не находящий ся в состоянии Create или Finish.
|
Функции-элементы
GetErrorType Возвращает тип возникшей ошибки.
Класс TTime (time.h)
Инкапсулирует функции и характеристики времени.
Элементы данных
RefDate | Минимальная допустимая дата (1 января 1901
года).
|
MaxDate | Максимально допустимая дата для объектов TTime.
|
Функции-элементы
Constructor | Строит объект TTime.
|
AsString | Возвращает строковый объект, содержащий время.
|
BeginDST | Возвращает начало ввода летнего времени для
текущего года.
|
Between | Возвращает 1, если заданное время находится
между установленными значениями, и 0 в противном случае.
|
CompareTo | Сравнивает заданное время с объектом TTime и
возвращает 0, если они совпадают, 1, если заданное время меньше, и -1, если больше.
|
EndDST | Возвращает время, когда для текущего года заканчивается летнее время.
|
Hash | Число секунд с 1 января 1901 года.
|
Hour | Часы в локальном времени.
|
HourGMT | Возвращает часы по Гринвичу.
|
IsDST | Возвращает 1, если время указано в летнем
времени.
|
IsValid | Возвращает время, если TTime содержит допустимое время.
|
Max | Возвращает объект TTime или заданное время t,
в зависимости от того, что из них больше.
|
Minute | Возвращает минуты в локальном времени.
|
MinuteGMT | Возвращает минуты по Гринвичу.
|
PrintDate | Устанавливает параметр в 1 для печати даты
вместе со временем и 0 в противном случае.
|
Second | Возвращает секунды.
|
Seconds | Возвращает секунды с 1 января 1901 года.
|
AssertDate | Возвращает 1, если дата находится между минимальной допустимой датой (RefDate) и максимальной допустимой датой (MaxDate).
|
Кроме того, для данного класса определены операции <, <==,
>, <=, >=, ==, !=, -, +, ++, --, +=, -=, << и >>.
Назад | Содержание | Вперед
|