#include "AutoRTFMConstants.h"
#include "AutoRTFMDefines.h"
#include <memory.h>
#include <stdlib.h>
Go to the source code of this file.
|
| enum | autortfm_result {
autortfm_aborted_by_request = 0
, autortfm_aborted_by_language
, autortfm_committed
, autortfm_aborted_by_transact_during_commit
,
autortfm_aborted_by_transact_during_abort
, autortfm_aborted_by_cascade
} |
| |
| enum | autortfm_status {
autortfm_status_idle = 0
, autortfm_status_ontrack
, autortfm_status_aborted_by_failed_lock_aquisition
, autortfm_status_aborted_by_language
,
autortfm_status_aborted_by_request
, autortfm_status_committing
, autortfm_status_aborted_by_cascading_abort
, autortfm_status_aborted_by_cascading_retry
,
autortfm_status_in_static_local_initializer
, autortfm_status_in_post_abort
} |
| |
| enum | autortfm_log_severity {
autortfm_log_verbose = 0
, autortfm_log_info
, autortfm_log_warn
, autortfm_log_error
,
autortfm_log_fatal
} |
| |
|
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_initialize (const autortfm_extern_api *ExternAPI) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_closed (void) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_transactional (void) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_committing (void) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_committing_or_aborting (void) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_retrying (void) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE autortfm_result | autortfm_transact (void(*UninstrumentedWork)(void *), void(*InstrumentedWork)(void *), void *Arg) AUTORTFM_EXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE autortfm_result | autortfm_transact_then_open (void(*UninstrumentedWork)(void *), void(*InstrumentedWork)(void *), void *Arg) |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_commit (void(*UninstrumentedWork)(void *), void(*InstrumentedWork)(void *), void *Arg) |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_abort_transaction () AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE autortfm_transaction_id | autortfm_current_transaction_id () AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE autortfm_result | autortfm_commit_transaction () AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_open (void(*work)(void *arg), void *arg, const void *) |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_open_explicit_validation (autortfm_memory_validation_level, void(*work)(void *arg), void *arg, const void *) |
| |
| AUTORTFM_DISABLE_UNREACHABLE_CODE_WARNINGS UE_AUTORTFM_CRITICAL_INLINE autortfm_status | autortfm_close (void(*UninstrumentedWork)(void *), void(*InstrumentedWork)(void *), void *Arg) |
| |
| AUTORTFM_RESTORE_UNREACHABLE_CODE_WARNINGS UE_AUTORTFM_CRITICAL_INLINE void | autortfm_record_open_write (void *Ptr, size_t Size) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_record_open_write_no_memory_validation (void *Ptr, size_t Size) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_register_open_to_closed_functions (autortfm_open_to_closed_table *Table) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_unregister_open_to_closed_functions (autortfm_open_to_closed_table *Table) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE bool | autortfm_is_on_current_transaction_stack (void *Ptr) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_on_commit (void(*work)(void *arg), void *arg) |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_on_pre_abort (void(*work)(void *arg), void *arg) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_on_abort (void(*work)(void *arg), void *arg) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_push_on_abort_handler (const void *key, void(*work)(void *arg), void *arg) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_pop_on_abort_handler (const void *key) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void * | autortfm_did_allocate (void *ptr, size_t size) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_did_free (void *ptr) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_check_abi (void *ptr, size_t size) AUTORTFM_NOEXCEPT |
| |
| UE_AUTORTFM_CRITICAL_INLINE void | autortfm_unreachable (const char *Message) AUTORTFM_NOEXCEPT |
| |
◆ autortfm_transaction_id
◆ autortfm_log_severity
| Enumerator |
|---|
| autortfm_log_verbose | |
| autortfm_log_info | |
| autortfm_log_warn | |
| autortfm_log_error | |
| autortfm_log_fatal | |
◆ autortfm_result
AutoRTFM is designed to make it easy to take existing C++ code–even if it was never designed to have any transactional semantics–and make it transactional just by using an alternate compiler. For details, see Engine/Source/Runtime/AutoRTFM/Documentation/README.md.
| Enumerator |
|---|
| autortfm_aborted_by_request | |
| autortfm_aborted_by_language | |
| autortfm_committed | |
| autortfm_aborted_by_transact_during_commit | |
| autortfm_aborted_by_transact_during_abort | |
| autortfm_aborted_by_cascade | |
◆ autortfm_status
| Enumerator |
|---|
| autortfm_status_idle | |
| autortfm_status_ontrack | |
| autortfm_status_aborted_by_failed_lock_aquisition | |
| autortfm_status_aborted_by_language | |
| autortfm_status_aborted_by_request | |
| autortfm_status_committing | |
| autortfm_status_aborted_by_cascading_abort | |
| autortfm_status_aborted_by_cascading_retry | |
| autortfm_status_in_static_local_initializer | |
| autortfm_status_in_post_abort | |
◆ autortfm_abort_transaction()
◆ autortfm_check_abi()
◆ autortfm_close()
◆ autortfm_commit()
◆ autortfm_commit_transaction()
◆ autortfm_current_transaction_id()
◆ autortfm_did_allocate()
◆ autortfm_did_free()
◆ autortfm_initialize()
◆ autortfm_is_closed()
◆ autortfm_is_committing()
◆ autortfm_is_committing_or_aborting()
◆ autortfm_is_on_current_transaction_stack()
◆ autortfm_is_retrying()
◆ autortfm_is_transactional()
◆ autortfm_on_abort()
◆ autortfm_on_commit()
◆ autortfm_on_pre_abort()
◆ autortfm_open()
◆ autortfm_open_explicit_validation()
◆ autortfm_pop_on_abort_handler()
◆ autortfm_push_on_abort_handler()
◆ autortfm_record_open_write()
◆ autortfm_record_open_write_no_memory_validation()
◆ autortfm_register_open_to_closed_functions()
◆ autortfm_transact()
◆ autortfm_transact_then_open()
◆ autortfm_unreachable()
◆ autortfm_unregister_open_to_closed_functions()