Soar Kernel
9.3.2 08-06-12
|
#include "gdatastructs.h"
Go to the source code of this file.
Typedefs | |
typedef struct agent_struct | agent |
typedef char | Bool |
typedef unsigned char | byte |
typedef std::list< preference *, soar_module::soar_memory_pool_allocator < preference * > > | pref_buffer_list |
typedef struct preference_struct | preference |
typedef union symbol_union | Symbol |
Functions | |
bool | add_preference_to_tm (agent *thisAgent, preference *pref) |
void | deallocate_preference (agent *thisAgent, preference *pref) |
preference * | make_preference (agent *thisAgent, byte type, Symbol *id, Symbol *attr, Symbol *value, Symbol *referent) |
Bool | possibly_deallocate_preference_and_clones (agent *thisAgent, preference *pref) |
void | preference_add_ref (preference *p) |
void | preference_remove_ref (agent *thisAgent, preference *p) |
void | process_o_rejects_and_deallocate_them (agent *thisAgent, preference *o_rejects, pref_buffer_list &bufdeallo) |
void | remove_preference_from_tm (agent *thisAgent, preference *pref) |
typedef struct agent_struct agent |
typedef std::list< preference*, soar_module::soar_memory_pool_allocator< preference* > > pref_buffer_list |
typedef struct preference_struct preference |
typedef union symbol_union Symbol |
bool add_preference_to_tm | ( | agent * | thisAgent, |
preference * | pref | ||
) |
Definition at line 213 of file prefmem.cpp.
References ACCEPTABLE_PREFERENCE_TYPE, preference_struct::all_of_slot_next, slot_struct::all_preferences, preference_struct::attr, slot_struct::changed, preference_struct::id, IDENTIFIER_SYMBOL_TYPE, preference_struct::in_tm, insert_at_head_of_dll, preference_struct::inst, slot_struct::isa_context_slot, make_slot(), mark_context_slot_as_acceptable_preference_changed(), mark_slot_as_changed(), instantiation_struct::match_goal, instantiation_struct::match_goal_level, production_struct::next, wme_struct::next, preference_struct::next, NIL, preference_struct::o_supported, post_link_addition(), preference_add_ref(), preference_is_binary(), slot_struct::preferences, production_struct::prev, preference_struct::prev, print(), print_preference(), preference_struct::referent, REQUIRE_PREFERENCE_TYPE, preference_struct::slot, agent_struct::top_state, TRUE, preference_struct::type, wme_struct::value, preference_struct::value, wma_enabled(), agent_struct::wma_slot_refs_pool, slot_struct::wma_val_references, and slot_struct::wmes.
Referenced by _epmem_process_buffered_wme_list(), _smem_process_buffered_wme_list(), and assert_new_preferences().
void deallocate_preference | ( | agent * | thisAgent, |
preference * | pref | ||
) |
Definition at line 105 of file prefmem.cpp.
References abort_with_fatal_error(), preference_struct::attr, BUFFER_MSG_SIZE, preference_struct::id, symbol_union::id, preference_struct::inst, instantiation_struct::match_goal, preference_struct::on_goal_list, possibly_deallocate_instantiation(), preference_is_binary(), agent_struct::preference_pool, identifier_struct::preferences_from_goal, instantiation_struct::preferences_generated, print(), print_preference(), preference_struct::reference_count, preference_struct::referent, remove_from_dll, symbol_remove_ref(), preference_struct::type, preference_struct::value, preference_struct::wma_o_set, and wma_remove_pref_o_set().
Referenced by deallocate_instantiation(), possibly_deallocate_preference_and_clones(), and remove_preference_from_clones().
preference* make_preference | ( | agent * | thisAgent, |
byte | type, | ||
Symbol * | id, | ||
Symbol * | attr, | ||
Symbol * | value, | ||
Symbol * | referent | ||
) |
Definition at line 68 of file prefmem.cpp.
References preference_struct::attr, FALSE, preference_struct::id, preference_struct::in_tm, preference_struct::next_clone, NIL, preference_struct::numeric_value, preference_struct::o_supported, preference_struct::on_goal_list, agent_struct::preference_pool, preference_struct::prev_clone, print(), print_preference(), preference_struct::reference_count, preference_struct::referent, preference_struct::rl_contribution, preference_struct::slot, preference_struct::total_preferences_for_candidate, production_struct::type, preference_struct::type, preference_struct::value, and preference_struct::wma_o_set.
Referenced by create_instantiation(), execute_action(), make_clones_of_results(), soar_module::make_fake_instantiation(), and make_fake_preference_for_goal_item().
Bool possibly_deallocate_preference_and_clones | ( | agent * | thisAgent, |
preference * | pref | ||
) |
Definition at line 151 of file prefmem.cpp.
References deallocate_preference(), FALSE, production_struct::next, preference_struct::next_clone, NIL, preference_struct::prev_clone, preference_struct::reference_count, and TRUE.
Referenced by preference_remove_ref(), and remove_preference_from_clones().
|
inline |
Definition at line 74 of file prefmem.h.
Referenced by _epmem_process_buffered_wme_list(), _smem_process_buffered_wme_list(), add_preference_to_tm(), assert_new_preferences(), build_prohibits_list(), decide_context_slot(), fill_in_new_instantiation_stuff(), soar_module::make_fake_instantiation(), make_fake_preference_for_goal_item(), and process_o_rejects_and_deallocate_them().
|
inline |
Definition at line 79 of file prefmem.h.
References possibly_deallocate_preference_and_clones().
Referenced by _epmem_process_buffered_wme_list(), _smem_process_buffered_wme_list(), assert_new_preferences(), deallocate_instantiation(), decide_context_slot(), do_preference_phase(), process_o_rejects_and_deallocate_them(), remove_fake_preference_for_goal_item(), remove_preference_from_tm(), and remove_wmes_for_context_slot().
void process_o_rejects_and_deallocate_them | ( | agent * | thisAgent, |
preference * | o_rejects, | ||
pref_buffer_list & | bufdeallo | ||
) |
Definition at line 407 of file prefmem.cpp.
References preference_struct::all_of_slot_next, slot_struct::all_preferences, preference_struct::attr, find_slot(), preference_struct::id, preference_struct::next, NIL, preference_add_ref(), preference_remove_ref(), print(), print_preference(), remove_preference_from_tm(), and preference_struct::value.
Referenced by assert_new_preferences().
void remove_preference_from_tm | ( | agent * | thisAgent, |
preference * | pref | ||
) |
Definition at line 359 of file prefmem.cpp.
References ACCEPTABLE_PREFERENCE_TYPE, slot_struct::all_preferences, FALSE, preference_struct::id, IDENTIFIER_SYMBOL_TYPE, preference_struct::in_tm, slot_struct::isa_context_slot, mark_context_slot_as_acceptable_preference_changed(), mark_slot_as_changed(), production_struct::next, NIL, post_link_removal(), preference_is_binary(), preference_remove_ref(), slot_struct::preferences, production_struct::prev, print(), print_preference(), preference_struct::referent, remove_from_dll, REQUIRE_PREFERENCE_TYPE, preference_struct::slot, preference_struct::type, and preference_struct::value.
Referenced by epmem_clear_result(), garbage_collect_id(), process_o_rejects_and_deallocate_them(), remove_existing_context_and_descendents(), retract_instantiation(), smem_clear_result(), and wma_forgetting_forget_wme().