std::tx_exception

From cppreference.com
< cpp‎ | error
 
 
Diagnostics library
Exception handling
Exception handling failures
(until C++17*)
(until C++17*)
(C++11)(until C++17*)    
(until C++17*)
Error codes
Error codes
Exception categories
tx_exception
(TM TS)
System error support
(C++11)
(C++11)
Assertions
Stacktrace
 
Defined in header <stdexcept>
template< class T >
class tx_exception : public std::runtime_error;
(TM TS)

Defines an exception type that can be used to cancel and roll back an atomic transaction initiated by the keyword atomic_cancel

If T is not TriviallyCopyable, the program that specializes std::tx_exception<T> is ill-formed.

Member functions

std::tx_exception::tx_exception

explicit tx_exception( T value ) transaction_safe;
(1) (TM TS)
tx_exception( T value, const std::string& what_arg ) transaction_safe;
(2) (TM TS)
tx_exception( T value, const char* what_arg ) transaction_safe;
(3) (TM TS)
tx_exception( const tx_exception& other ) transaction_safe noexcept;
(4) (TM TS)
1-3) Constructs the exception object with what_arg as explanatory string that can be accessed through what() and value as the object that can be accessed through get().
4) Copy constructor. If *this and other both have dynamic type std::tx_exception<T> then std::strcmp(what(), other.what()) == 0.

Parameters

value - payload object
what_arg - explanatory string
other - another exception object to copy

Exceptions

1-3) May throw implementation-defined exceptions.

std::tx_exception::operator=

tx_exception& operator=( const tx_exception& other ) transaction_safe noexcept;
(TM TS)

Assigns the contents with those of other. If *this and other both have dynamic type std::tx_exception<T> then std::strcmp(what(), other.what()) == 0 after assignment.

Parameters

other - another exception object to assign with

Return value

*this

std::tx_exception::get

T get() const transaction_safe;
(TM TS)

Returns the payload object held by the exception object.

Exceptions

May throw implementation-defined exceptions.

std::tx_exception::what

virtual const char* what() const transaction_safe_dynamic noexcept;
(TM TS)

Returns the explanatory string.

Parameters

(none)

Return value

Pointer to a null-terminated string with explanatory information.

Inherited from std::runtime_error


Inherited from std::exception

Member functions

[virtual]
destroys the exception object
(virtual public member function of std::exception)
[virtual]
returns an explanatory string
(virtual public member function of std::exception)