[][src]Struct tm_rs::ffi::tm_the_truth_api

#[repr(C)]pub struct tm_the_truth_api {
    pub allocator: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_allocator_i>,
    pub buffers: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_buffers_i>,
    pub streamable_buffers: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_streamable_buffers_i>,
    pub create_object_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8, *const tm_the_truth_property_definition_t, u32) -> u64>,
    pub set_default_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, tm_tt_id_t)>,
    pub set_default_object_to_create_subobjects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64)>,
    pub default_object: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> tm_tt_id_t>,
    pub is_default: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>,
    pub set_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u64, *mut c_void)>,
    pub set_default_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, *mut c_void)>,
    pub set_property_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u32, u64, *mut c_void)>,
    pub reload_aspects: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub set_dont_propagate_version_tick: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, bool)>,
    pub object_type_from_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>,
    pub optional_object_type_from_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>,
    pub num_types: Option<unsafe extern "C" fn(*const tm_the_truth_o) -> u32>,
    pub type_name: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const i8>,
    pub type_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>,
    pub num_properties: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u32>,
    pub properties: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const tm_the_truth_property_definition_t>,
    pub find_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64, u32, *mut u32) -> bool>,
    pub property_index: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> u32>,
    pub has_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> u32>,
    pub get_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> *mut c_void>,
    pub get_types_with_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, *mut tm_temp_allocator_i) -> *mut tm_the_truth_get_types_with_aspect_t>,
    pub get_aspects: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const tm_the_truth_get_aspects_t>,
    pub get_property_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u32, u64) -> *mut c_void>,
    pub all_objects_of_type: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>,
    pub create_undo_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_undo_scope_t>,
    pub create_thread_safe_undo_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_undo_scope_t>,
    pub clear_undo_scopes: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub undo_scope_name: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t) -> *const i8>,
    pub undo_scope_objects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>,
    pub undo_scope_actions: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_undo_action_t>,
    pub undo: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t)>,
    pub redo: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t)>,
    pub create_object_of_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, tm_tt_undo_scope_t) -> tm_tt_id_t>,
    pub create_object_from_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>,
    pub clone_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>,
    pub instantiate_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t) -> tm_tt_id_t>,
    pub remove_instantiated_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t)>,
    pub instantiate_subobject_from_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>,
    pub remove_instantiated_subobject_from_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub add_instantiated_subobject_back_to_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t)>,
    pub id: Option<unsafe extern "C" fn(*const tm_the_truth_object_o) -> tm_tt_id_t>,
    pub destroy_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub destroy_objects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const tm_tt_id_t, u32, tm_tt_undo_scope_t)>,
    pub garbage_collect: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub is_alive: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> bool>,
    pub interop_ensure_compatibility: Option<unsafe extern "C" fn(*mut tm_the_truth_interop_context_t)>,
    pub interop_clone_object: Option<unsafe extern "C" fn(*mut tm_the_truth_interop_context_t, tm_tt_id_t) -> tm_tt_id_t>,
    pub deep_clone_assets: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const tm_the_truth_o, *const tm_tt_id_t, u32, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>,
    pub uuid: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_uuid_t>,
    pub read: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> *const tm_the_truth_object_o>,
    pub get_bool: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>,
    pub get_uint32_t: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u32>,
    pub get_uint64_t: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>,
    pub get_float: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> f32>,
    pub get_double: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> f64>,
    pub get_string: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> *const i8>,
    pub get_string_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>,
    pub get_buffer: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_buffer_t>,
    pub get_reference: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_id_t>,
    pub get_subobject: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_id_t>,
    pub get_property_value: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> tm_tt_prop_value_t>,
    pub property_value_equal: Option<unsafe extern "C" fn(tm_tt_prop_value_t, tm_tt_prop_value_t) -> bool>,
    pub get_reference_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>,
    pub get_subobject_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>,
    pub get_reference_set_size: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>,
    pub get_subobject_set_size: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>,
    pub get_subobject_set_locally_removed: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>,
    pub find_subobject_of_type: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, u64) -> tm_tt_id_t>,
    pub is_subobject_of: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, tm_tt_id_t) -> bool>,
    pub property_index_of_subobject: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, tm_tt_id_t) -> u32>,
    pub write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t) -> *mut tm_the_truth_object_o>,
    pub commit: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_undo_scope_t)>,
    pub commit_range: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t)>,
    pub retarget_write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>,
    pub try_write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut *const tm_the_truth_object_o) -> *mut tm_the_truth_object_o>,
    pub try_commit: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, *const tm_the_truth_object_o, tm_tt_undo_scope_t) -> bool>,
    pub set_bool: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, bool)>,
    pub set_uint32_t: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u32)>,
    pub set_uint64_t: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u64)>,
    pub set_float: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, f32)>,
    pub set_double: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, f64)>,
    pub set_string: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const i8)>,
    pub set_buffer: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u32)>,
    pub set_reference: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t)>,
    pub set_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *mut tm_the_truth_object_o)>,
    pub set_subobject_id: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub set_property_value: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_prop_value_t, tm_tt_undo_scope_t)>,
    pub clear: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>,
    pub clear_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o)>,
    pub propagate_property: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, u32, tm_tt_undo_scope_t)>,
    pub propagate_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub propagate_object_except: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *const tm_tt_id_t, u32, tm_tt_undo_scope_t)>,
    pub add_to_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub remove_from_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub clear_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>,
    pub remove_from_prototype_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub cancel_remove_from_prototype_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub add_to_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *mut *mut tm_the_truth_object_o, u32)>,
    pub remove_from_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub clear_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>,
    pub remove_from_prototype_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub cancel_remove_from_prototype_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>,
    pub prototype: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_tt_id_t>,
    pub owner: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_tt_id_t>,
    pub is_currently_owner_of: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, tm_tt_id_t) -> bool>,
    pub is_overridden: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>,
    pub has_data: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>,
    pub prototype_relation: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, u32, tm_tt_id_t) -> i32>,
    pub version: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> u32>,
    pub changed_objects: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64, *mut tm_temp_allocator_i) -> tm_the_truth_changed_objects_t>,
    pub request_changelog: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> u64>,
    pub relinquish_changelog: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64)>,
    pub disable_changelog_start_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub disable_changelog_end_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
    pub changelog_size: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> u64>,
    pub serialize: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut *mut i8, *mut tm_allocator_i, *const tm_tt_serialize_options_t)>,
    pub deserialize: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *const tm_tt_deserialize_options_t) -> tm_tt_id_t>,
    pub buffer_hashes: Option<unsafe extern "C" fn(*mut *const i8, *mut u64) -> *const u64>,
    pub deserialize_from_file: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_id_t>,
    pub migration_ids: Option<unsafe extern "C" fn(*const tm_the_truth_o, *mut u32) -> *mut u64>,
    pub serialize_changes_header: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *mut i8, *mut tm_allocator_i)>,
    pub serialize_changes: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u64, *mut *mut i8, *mut tm_allocator_i, *const tm_tt_serialize_changes_options_t)>,
    pub deserialize_changes: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *const tm_tt_deserialize_changes_options_t)>,
    pub serialize_patch: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_the_truth_o, tm_tt_id_t, *mut *mut i8, *mut tm_allocator_i)>,
    pub deserialize_patch: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8)>,
    pub deserialize_patch_from_file: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8)>,
    pub serialize_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u32, *mut tm_temp_allocator_i) -> *mut i8>,
    pub deserialize_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *mut tm_the_truth_serialized_type_info_t)>,
    pub memory_use: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_set_t) -> tm_tt_memory_use_t>,
    pub add_properties: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, *const tm_the_truth_property_definition_t, u32)>,
    pub resolve_or_create_placeholder: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_uuid_t, u64, bool) -> tm_tt_id_t>,
    pub resolve_or_fail: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_uuid_t, u64) -> tm_tt_id_t>,
    pub set_uuid: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_uuid_t)>,
    pub set_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>,
    pub detach_from_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_hash_id_to_id_t, tm_tt_undo_scope_t)>,
    pub detach_all_instances: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub get_local_reference_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_the_truth_local_set_t>,
    pub get_local_subobject_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_the_truth_local_set_t>,
    pub set_local_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_the_truth_local_set_t)>,
    pub set_local_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_the_truth_set_local_subobject_set_t)>,
    pub string_repository: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_string_repository_i>,
    pub set_migration_ids: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut u64, u32)>,
    pub set_properties_to_default: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u64)>,
    pub instantiate_subobjects_recursively: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>,
    pub quick_set_properties: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, tm_tt_id_t, ...)>,
    pub quick_create_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, u64, ...) -> tm_tt_id_t>,
    pub quick_get_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, u32, ...) -> tm_tt_prop_value_t>,
    pub internal__set_owner: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>,
    pub debug_inspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> *const i8>,
    pub internal__detect_overlapping_writes: Option<unsafe extern "C" fn(*const tm_the_truth_o) -> bool>,
    pub create: Option<unsafe extern "C" fn(*mut tm_allocator_i, i32) -> *mut tm_the_truth_o>,
    pub destroy: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>,
}

Fields

allocator: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_allocator_i>buffers: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_buffers_i>streamable_buffers: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_streamable_buffers_i>create_object_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8, *const tm_the_truth_property_definition_t, u32) -> u64>set_default_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, tm_tt_id_t)>set_default_object_to_create_subobjects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64)>default_object: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> tm_tt_id_t>is_default: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>set_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u64, *mut c_void)>set_default_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, *mut c_void)>set_property_aspect: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u32, u64, *mut c_void)>reload_aspects: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>set_dont_propagate_version_tick: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, bool)>object_type_from_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>optional_object_type_from_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>num_types: Option<unsafe extern "C" fn(*const tm_the_truth_o) -> u32>type_name: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const i8>type_name_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u64>num_properties: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> u32>properties: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const tm_the_truth_property_definition_t>find_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64, u32, *mut u32) -> bool>property_index: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> u32>has_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> u32>get_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64) -> *mut c_void>get_types_with_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, *mut tm_temp_allocator_i) -> *mut tm_the_truth_get_types_with_aspect_t>get_aspects: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64) -> *const tm_the_truth_get_aspects_t>get_property_aspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u32, u64) -> *mut c_void>all_objects_of_type: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>create_undo_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_undo_scope_t>create_thread_safe_undo_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_undo_scope_t>clear_undo_scopes: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>undo_scope_name: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t) -> *const i8>undo_scope_objects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>undo_scope_actions: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_undo_action_t>undo: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t)>redo: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t)>create_object_of_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, tm_tt_undo_scope_t) -> tm_tt_id_t>create_object_from_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>clone_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>instantiate_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t) -> tm_tt_id_t>remove_instantiated_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t)>instantiate_subobject_from_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t) -> tm_tt_id_t>remove_instantiated_subobject_from_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t)>add_instantiated_subobject_back_to_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t)>id: Option<unsafe extern "C" fn(*const tm_the_truth_object_o) -> tm_tt_id_t>destroy_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>destroy_objects: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const tm_tt_id_t, u32, tm_tt_undo_scope_t)>garbage_collect: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>is_alive: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> bool>interop_ensure_compatibility: Option<unsafe extern "C" fn(*mut tm_the_truth_interop_context_t)>interop_clone_object: Option<unsafe extern "C" fn(*mut tm_the_truth_interop_context_t, tm_tt_id_t) -> tm_tt_id_t>deep_clone_assets: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const tm_the_truth_o, *const tm_tt_id_t, u32, tm_tt_undo_scope_t, *mut tm_temp_allocator_i) -> *mut tm_tt_id_t>uuid: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_uuid_t>read: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> *const tm_the_truth_object_o>get_bool: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>get_uint32_t: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u32>get_uint64_t: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>get_float: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> f32>get_double: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> f64>get_string: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> *const i8>get_string_hash: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>get_buffer: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_buffer_t>get_reference: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_id_t>get_subobject: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_tt_id_t>get_property_value: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> tm_tt_prop_value_t>property_value_equal: Option<unsafe extern "C" fn(tm_tt_prop_value_t, tm_tt_prop_value_t) -> bool>get_reference_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>get_subobject_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>get_reference_set_size: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>get_subobject_set_size: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> u64>get_subobject_set_locally_removed: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, *mut tm_temp_allocator_i) -> *const tm_tt_id_t>find_subobject_of_type: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, u64) -> tm_tt_id_t>is_subobject_of: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32, tm_tt_id_t) -> bool>property_index_of_subobject: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, tm_tt_id_t) -> u32>write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t) -> *mut tm_the_truth_object_o>commit: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_undo_scope_t)>commit_range: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *mut tm_the_truth_object_o, u32, tm_tt_undo_scope_t)>retarget_write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>try_write: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut *const tm_the_truth_object_o) -> *mut tm_the_truth_object_o>try_commit: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, *const tm_the_truth_object_o, tm_tt_undo_scope_t) -> bool>set_bool: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, bool)>set_uint32_t: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u32)>set_uint64_t: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u64)>set_float: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, f32)>set_double: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, f64)>set_string: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const i8)>set_buffer: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, u32)>set_reference: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t)>set_subobject: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *mut tm_the_truth_object_o)>set_subobject_id: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_id_t, tm_tt_undo_scope_t)>set_property_value: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_tt_prop_value_t, tm_tt_undo_scope_t)>clear: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>clear_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o)>propagate_property: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, u32, tm_tt_undo_scope_t)>propagate_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>propagate_object_except: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *const tm_tt_id_t, u32, tm_tt_undo_scope_t)>add_to_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>remove_from_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>clear_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>remove_from_prototype_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>cancel_remove_from_prototype_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>add_to_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *mut *mut tm_the_truth_object_o, u32)>remove_from_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>clear_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32)>remove_from_prototype_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>cancel_remove_from_prototype_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, *const tm_tt_id_t, u32)>prototype: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_tt_id_t>owner: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> tm_tt_id_t>is_currently_owner_of: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, tm_tt_id_t) -> bool>is_overridden: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>has_data: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> bool>prototype_relation: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, u32, tm_tt_id_t) -> i32>version: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> u32>changed_objects: Option<unsafe extern "C" fn(*const tm_the_truth_o, u64, u64, *mut tm_temp_allocator_i) -> tm_the_truth_changed_objects_t>request_changelog: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> u64>relinquish_changelog: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64)>disable_changelog_start_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>disable_changelog_end_scope: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>changelog_size: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> u64>serialize: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut *mut i8, *mut tm_allocator_i, *const tm_tt_serialize_options_t)>deserialize: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *const tm_tt_deserialize_options_t) -> tm_tt_id_t>buffer_hashes: Option<unsafe extern "C" fn(*mut *const i8, *mut u64) -> *const u64>deserialize_from_file: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8) -> tm_tt_id_t>migration_ids: Option<unsafe extern "C" fn(*const tm_the_truth_o, *mut u32) -> *mut u64>serialize_changes_header: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *mut i8, *mut tm_allocator_i)>serialize_changes: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, u64, *mut *mut i8, *mut tm_allocator_i, *const tm_tt_serialize_changes_options_t)>deserialize_changes: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *const tm_tt_deserialize_changes_options_t)>serialize_patch: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_the_truth_o, tm_tt_id_t, *mut *mut i8, *mut tm_allocator_i)>deserialize_patch: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8)>deserialize_patch_from_file: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *const i8)>serialize_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u32, *mut tm_temp_allocator_i) -> *mut i8>deserialize_type: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut *const i8, *mut tm_the_truth_serialized_type_info_t)>memory_use: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_set_t) -> tm_tt_memory_use_t>add_properties: Option<unsafe extern "C" fn(*mut tm_the_truth_o, u64, *const tm_the_truth_property_definition_t, u32)>resolve_or_create_placeholder: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_uuid_t, u64, bool) -> tm_tt_id_t>resolve_or_fail: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_uuid_t, u64) -> tm_tt_id_t>set_uuid: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_uuid_t)>set_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>detach_from_prototype: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, *mut tm_hash_id_to_id_t, tm_tt_undo_scope_t)>detach_all_instances: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>get_local_reference_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_the_truth_local_set_t>get_local_subobject_set: Option<unsafe extern "C" fn(*const tm_the_truth_o, *const tm_the_truth_object_o, u32) -> tm_the_truth_local_set_t>set_local_reference_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_the_truth_local_set_t)>set_local_subobject_set: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u32, tm_the_truth_set_local_subobject_set_t)>string_repository: Option<unsafe extern "C" fn(*mut tm_the_truth_o) -> *mut tm_string_repository_i>set_migration_ids: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut u64, u32)>set_properties_to_default: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, u64)>instantiate_subobjects_recursively: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_id_t, tm_tt_undo_scope_t)>quick_set_properties: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, tm_tt_id_t, ...)>quick_create_object: Option<unsafe extern "C" fn(*mut tm_the_truth_o, tm_tt_undo_scope_t, u64, ...) -> tm_tt_id_t>quick_get_property: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t, u32, ...) -> tm_tt_prop_value_t>internal__set_owner: Option<unsafe extern "C" fn(*mut tm_the_truth_o, *mut tm_the_truth_object_o, tm_tt_id_t)>debug_inspect: Option<unsafe extern "C" fn(*const tm_the_truth_o, tm_tt_id_t) -> *const i8>internal__detect_overlapping_writes: Option<unsafe extern "C" fn(*const tm_the_truth_o) -> bool>create: Option<unsafe extern "C" fn(*mut tm_allocator_i, i32) -> *mut tm_the_truth_o>destroy: Option<unsafe extern "C" fn(*mut tm_the_truth_o)>

Trait Implementations

impl Clone for tm_the_truth_api[src]

impl Copy for tm_the_truth_api[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Any for T where
    T: Any
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> CloneAny for T where
    T: Clone + Any
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.