Vowpal Wabbit
Classes | Functions | Variables
HookTask Namespace Reference

Classes

struct  task_data
 

Functions

void initialize (Search::search &sch, size_t &num_actions, options_i &arg)
 
void finish (Search::search &sch)
 
void run (Search::search &sch, multi_ex &)
 
void run_setup (Search::search &sch, multi_ex &)
 
void run_takedown (Search::search &sch, multi_ex &)
 

Variables

Search::search_task task = {"hook", run, initialize, finish, run_setup, run_takedown}
 

Function Documentation

◆ finish()

void HookTask::finish ( Search::search sch)

Definition at line 32 of file search_hooktask.cc.

References HookTask::task_data::delete_extra_data, HookTask::task_data::delete_run_object, Search::search::get_task_data(), HookTask::task_data::run_object, HookTask::task_data::setup_object, and HookTask::task_data::takedown_object.

33 {
34  task_data* td = sch.get_task_data<task_data>();
35  if (td->delete_run_object)
36  {
37  if (td->run_object)
38  td->delete_run_object(td->run_object);
39  if (td->setup_object)
40  td->delete_run_object(td->setup_object);
41  if (td->takedown_object)
42  td->delete_run_object(td->takedown_object);
43  }
44  if (td->delete_extra_data)
45  td->delete_extra_data(*td);
46  delete td;
47 }
T * get_task_data()
Definition: search.h:89

◆ initialize()

void HookTask::initialize ( Search::search sch,
size_t &  num_actions,
options_i arg 
)

Definition at line 16 of file search_hooktask.cc.

References HookTask::task_data::arg, HookTask::task_data::delete_extra_data, HookTask::task_data::delete_run_object, HookTask::task_data::num_actions, HookTask::task_data::run_f, HookTask::task_data::run_object, HookTask::task_data::run_setup_f, HookTask::task_data::run_takedown_f, Search::search::set_task_data(), HookTask::task_data::setup_object, and HookTask::task_data::takedown_object.

17 {
18  task_data* td = new task_data;
19  td->run_f = nullptr;
20  td->run_setup_f = nullptr;
21  td->run_takedown_f = nullptr;
22  td->run_object = nullptr;
23  td->setup_object = nullptr;
24  td->takedown_object = nullptr;
25  td->delete_run_object = nullptr;
26  td->delete_extra_data = nullptr;
27  td->num_actions = num_actions;
28  td->arg = &arg;
29  sch.set_task_data<task_data>(td);
30 }
void set_task_data(T *data)
Definition: search.h:84

◆ run()

void HookTask::run ( Search::search sch,
multi_ex  
)

Definition at line 49 of file search_hooktask.cc.

References Search::search::get_task_data(), and HookTask::task_data::run_f.

50 {
51  task_data* td = sch.get_task_data<task_data>();
52  if (td->run_f)
53  td->run_f(sch);
54  else
55  std::cerr << "warning: HookTask::structured_predict called before hook is set" << std::endl;
56 }
T * get_task_data()
Definition: search.h:89

◆ run_setup()

void HookTask::run_setup ( Search::search sch,
multi_ex  
)

Definition at line 58 of file search_hooktask.cc.

References Search::search::get_task_data(), and HookTask::task_data::run_setup_f.

59 {
60  task_data* td = sch.get_task_data<task_data>();
61  if (td->run_setup_f)
62  td->run_setup_f(sch);
63 }
T * get_task_data()
Definition: search.h:89

◆ run_takedown()

void HookTask::run_takedown ( Search::search sch,
multi_ex  
)

Definition at line 65 of file search_hooktask.cc.

References Search::search::get_task_data(), and HookTask::task_data::run_takedown_f.

66 {
67  task_data* td = sch.get_task_data<task_data>();
68  if (td->run_takedown_f)
69  td->run_takedown_f(sch);
70 }
T * get_task_data()
Definition: search.h:89

Variable Documentation

◆ task

Search::search_task HookTask::task = {"hook", run, initialize, finish, run_setup, run_takedown}

Definition at line 14 of file search_hooktask.cc.