PIPS
task_private.h
Go to the documentation of this file.
1 #ifndef _newgen_task_private_included
2 #define _newgen_task_private_included
3 #define _gen_task_private_start 98
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
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)
15 #endif /* _newgen_statement_domain_defined_ */
16 
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)
21 typedef struct _newgen_struct_entity_ * entity;
22 #endif /* _newgen_entity_domain_defined_ */
23 
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)
30 #endif /* _newgen_statement_task_domain_defined_ */
31 
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)
37 typedef struct _newgen_struct_task_ * task;
38 #endif /* _newgen_task_domain_defined_ */
39 
40 /* STATEMENT_TASK
41  */
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)
50 
56 #define gen_STATEMENT_TASK_cons gen_statement_task_cons
60 extern void write_statement_task(FILE*, statement_task);
63 
67 };
68 
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)
80 
81 /* TASK
82  */
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)
91 
92 extern task copy_task(task);
93 extern void free_task(task);
94 extern task check_task(task);
95 extern bool task_consistent_p(task);
96 extern bool task_defined_p(task);
97 #define gen_TASK_cons gen_task_cons
98 extern list gen_task_cons(task, list);
99 extern void task_assign_contents(task, task);
100 extern void task_non_recursive_free(task);
101 extern void write_task(FILE*, task);
102 extern task read_task(FILE*);
103 extern task make_task(intptr_t, list, intptr_t, bool);
104 
107  intptr_t _task_id_; /* id:int */
108  list _task_private_data_; /* private_data:entity* */
109  intptr_t _task_on_cluster_; /* on_cluster:int */
110  gen_chunk _task_synchronization_; /* synchronization:bool */
111 };
112 
113 #define task_domain_number(x) ((x)->_type_)
114 #define task_id_(x) task_id(x) /* old hack compatible */
115 #define task_id(x) ((x)->_task_id_)
116 #define task_private_data_(x) task_private_data(x) /* old hack compatible */
117 #define task_private_data(x) ((x)->_task_private_data_)
118 #define task_on_cluster_(x) task_on_cluster(x) /* old hack compatible */
119 #define task_on_cluster(x) ((x)->_task_on_cluster_)
120 #define task_synchronization_(x) task_synchronization(x) /* old hack compatible */
121 #define task_synchronization(x) ((x)->_task_synchronization_.b)
122 
123 #define task_private_spec "\
124 --NEWGEN-START 98\n\
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\
129 "
130 #endif
#define intptr_t
Definition: stdint.in.h:294
list _task_private_data_
id:int
Definition: task_private.h:108
intptr_t _task_on_cluster_
private_data:entity*
Definition: task_private.h:109
gen_chunk _task_synchronization_
on_cluster:int
Definition: task_private.h:110
The structure used to build lists in NewGen.
Definition: newgen_list.h:41
task copy_task(task)
TASK.
Definition: task_private.c:73
statement_task make_statement_task(void)
Definition: task_private.c:52
statement_task copy_statement_task(statement_task)
STATEMENT_TASK.
Definition: task_private.c:16
struct _newgen_struct_statement_ * statement
Definition: task_private.h:14
void write_statement_task(FILE *, statement_task)
Definition: task_private.c:46
void free_statement_task(statement_task)
Definition: task_private.c:19
void extend_statement_task(statement_task, statement, task)
Definition: task_private.c:61
task make_task(intptr_t, list, intptr_t, bool)
Definition: task_private.c:109
bool task_defined_p(task)
Definition: task_private.c:86
bool bound_statement_task_p(statement_task, statement)
Definition: task_private.c:67
struct _newgen_struct_task_ * task
Definition: task_private.h:37
statement_task read_statement_task(FILE *)
Definition: task_private.c:49
void free_task(task)
Definition: task_private.c:76
statement_task check_statement_task(statement_task)
Definition: task_private.c:22
task read_task(FILE *)
Definition: task_private.c:106
void statement_task_non_recursive_free(statement_task)
Definition: task_private.c:42
void update_statement_task(statement_task, statement, task)
Definition: task_private.c:58
void statement_task_assign_contents(statement_task, statement_task)
Definition: task_private.c:35
task delete_statement_task(statement_task, statement)
Definition: task_private.c:64
task apply_statement_task(statement_task, statement)
Definition: task_private.c:55
list gen_statement_task_cons(statement_task, list)
Definition: task_private.c:32
void write_task(FILE *, task)
Definition: task_private.c:103
void task_non_recursive_free(task)
Definition: task_private.c:99
bool statement_task_defined_p(statement_task)
Definition: task_private.c:29
list gen_task_cons(task, list)
Definition: task_private.c:89
struct _newgen_struct_entity_ * entity
Definition: task_private.h:21
bool task_consistent_p(task)
Definition: task_private.c:82
task check_task(task)
Definition: task_private.c:79
bool statement_task_consistent_p(statement_task)
Definition: task_private.c:25
void task_assign_contents(task, task)
Definition: task_private.c:92
struct _newgen_struct_statement_task_ * statement_task
Definition: task_private.h:29
A gen_chunk is used to store every object.
Definition: genC.h:58