1 #ifndef _newgen_task_private_included
2 #define _newgen_task_private_included
3 #define _gen_task_private_start 98
10 #if !defined(_newgen_statement_domain_defined_)
11 #define _newgen_statement_domain_defined_
12 #define STATEMENT_NEWGEN_DOMAIN (statement_domain)
13 #define statement_NEWGEN_DOMAIN (statement_domain)
17 #if !defined(_newgen_entity_domain_defined_)
18 #define _newgen_entity_domain_defined_
19 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
20 #define entity_NEWGEN_DOMAIN (entity_domain)
24 #define statement_task_domain (_gen_task_private_start+0)
25 #if !defined(_newgen_statement_task_domain_defined_)
26 #define _newgen_statement_task_domain_defined_
27 #define STATEMENT_TASK_NEWGEN_DOMAIN (statement_task_domain)
28 #define statement_task_NEWGEN_DOMAIN (statement_task_domain)
32 #define task_domain (_gen_task_private_start+1)
33 #if !defined(_newgen_task_domain_defined_)
34 #define _newgen_task_domain_defined_
35 #define TASK_NEWGEN_DOMAIN (task_domain)
36 #define task_NEWGEN_DOMAIN (task_domain)
42 #define STATEMENT_TASK(x) ((statement_task)((x).p))
43 #define statement_task_CAST(x) STATEMENT_TASK(x)
44 #define STATEMENT_TASK_CAST(x) STATEMENT_TASK(x)
45 #define STATEMENT_TASK_(x) ((x).e)
46 #define STATEMENT_TASK_TYPE statement_task
47 #define statement_task_TYPE statement_task
48 #define statement_task_undefined ((statement_task)gen_chunk_undefined)
49 #define statement_task_undefined_p(x) ((x)==statement_task_undefined)
56 #define gen_STATEMENT_TASK_cons gen_statement_task_cons
69 #define statement_task_domain_number(x) ((x)->_type_)
70 #define statement_task_hash_table(x) ((x)->_statement_task_holder_)
71 #define statement_task_key_type statement
72 #define statement_task_value_type task
73 #define STATEMENT_TASK_MAP(k,v,c,f) FUNCTION_MAP(statement_task,p,p,k,v,c,f)
74 #define STATEMENT_TASK_FOREACH(k,v,f) FUNCTION_FOREACH(statement_task,p,p,k,v,f)
83 #define TASK(x) ((task)((x).p))
84 #define task_CAST(x) TASK(x)
85 #define TASK_CAST(x) TASK(x)
86 #define TASK_(x) ((x).e)
87 #define TASK_TYPE task
88 #define task_TYPE task
89 #define task_undefined ((task)gen_chunk_undefined)
90 #define task_undefined_p(x) ((x)==task_undefined)
97 #define gen_TASK_cons gen_task_cons
113 #define task_domain_number(x) ((x)->_type_)
114 #define task_id_(x) task_id(x)
115 #define task_id(x) ((x)->_task_id_)
116 #define task_private_data_(x) task_private_data(x)
117 #define task_private_data(x) ((x)->_task_private_data_)
118 #define task_on_cluster_(x) task_on_cluster(x)
119 #define task_on_cluster(x) ((x)->_task_on_cluster_)
120 #define task_synchronization_(x) task_synchronization(x)
121 #define task_synchronization(x) ((x)->_task_synchronization_.b)
123 #define task_private_spec "\
125 import statement from \"ri.newgen\";\n\
126 import entity from \"ri.newgen\";\n\
127 statement_task = persistant statement:statement -> task:task;\n\
128 task = id:int x private_data:entity* x on_cluster:int x synchronization:bool;\n\
hash_table _statement_task_holder_
list _task_private_data_
id:int
intptr_t _task_on_cluster_
private_data:entity*
gen_chunk _task_synchronization_
on_cluster:int
The structure used to build lists in NewGen.
task copy_task(task)
TASK.
statement_task make_statement_task(void)
statement_task copy_statement_task(statement_task)
STATEMENT_TASK.
struct _newgen_struct_statement_ * statement
void write_statement_task(FILE *, statement_task)
void free_statement_task(statement_task)
void extend_statement_task(statement_task, statement, task)
task make_task(intptr_t, list, intptr_t, bool)
bool task_defined_p(task)
bool bound_statement_task_p(statement_task, statement)
struct _newgen_struct_task_ * task
statement_task read_statement_task(FILE *)
statement_task check_statement_task(statement_task)
void statement_task_non_recursive_free(statement_task)
void update_statement_task(statement_task, statement, task)
void statement_task_assign_contents(statement_task, statement_task)
task delete_statement_task(statement_task, statement)
task apply_statement_task(statement_task, statement)
list gen_statement_task_cons(statement_task, list)
void write_task(FILE *, task)
void task_non_recursive_free(task)
bool statement_task_defined_p(statement_task)
list gen_task_cons(task, list)
struct _newgen_struct_entity_ * entity
bool task_consistent_p(task)
bool statement_task_consistent_p(statement_task)
void task_assign_contents(task, task)
struct _newgen_struct_statement_task_ * statement_task
A gen_chunk is used to store every object.