std::tx_exception
Материал из cppreference.com
<tbody>
</tbody>
| Определено в заголовочном файле <stdexcept>
|
||
template< class T > class tx_exception : public std::runtime_error; |
(ТС TM) | |
Определяет тип исключения, который можно использовать для отмены и отката атомарной транзакции, инициированной ключевым словом atomic_cancel.
Если T не является TriviallyCopyable, программа, специализирующая std::tx_exception<T>, не корректна.
Функции-элементы
std::tx_exception::tx_exception
<tbody> </tbody> explicit tx_exception( T value ) transaction_safe; |
(1) | (ТС TM) |
tx_exception( T value, const std::string& what_arg ) transaction_safe; |
(2) | (ТС TM) |
tx_exception( T value, const char* what_arg ) transaction_safe; |
(3) | (ТС TM) |
tx_exception( const tx_exception& other ) transaction_safe noexcept; |
(4) | (ТС TM) |
1-3) Создаёт объект исключения с
what_arg в качестве пояснительной строки, к которой можно получить доступ через what(), и value в качестве объекта, к которому можно получить доступ через get().4) Конструктор копирования. Если
*this и other имеют динамический тип std::tx_exception<T>, тогда std::strcmp(what(), other.what()) == 0.Параметры
| value | — | объект полезной нагрузки |
| what_arg | — | пояснительная строка |
| other | — | другой объект исключения для копирования |
Исключения
1-3) Может генерировать исключения, определённые реализацией.
std::tx_exception::operator=
<tbody> </tbody> tx_exception& operator=( const tx_exception& other ) transaction_safe noexcept; |
(ТС TM) | |
Присваивает содержимое из other. Если *this и other имеют динамический тип std::tx_exception<T>, тогда std::strcmp(what(), other.what()) == 0 после присваивания.
Параметры
| other | — | другой объект исключения для присваивания |
Возвращаемое значение
*this
std::tx_exception::get
<tbody> </tbody> T get() const transaction_safe; |
(ТС TM) | |
Возвращает объект полезной нагрузки, удерживаемый объектом исключения.
Исключения
Может генерировать исключения, определённые реализацией.
std::tx_exception::what
<tbody> </tbody> virtual const char* what() const transaction_safe_dynamic noexcept; |
(ТС TM) | |
Возвращает пояснительную строку.
Параметры
(нет)
Возвращаемое значение
Указатель на завершающуюся нулём строку с пояснительной информацией.
Унаследован от std::runtime_error
Унаследован от std::exception
Функции-элементы
[virtual] |
уничтожает объект исключения (virtual public of std::exception функция-элемент)
|
[virtual] |
возвращает поясняющую строку (virtual public of std::exception функция-элемент)
|