PIPS
message.h
Go to the documentation of this file.
1 #ifndef _newgen_message_included
2 #define _newgen_message_included
3 #define _gen_message_start 114
4 /*
5  * THIS FILE HAS BEEN AUTOMATICALLY GENERATED BY NEWGEN.
6  *
7  * PLEASE DO NOT MODIFY IT.
8  */
9 
10 #if !defined(_newgen_entity_domain_defined_)
11 #define _newgen_entity_domain_defined_
12 #define ENTITY_NEWGEN_DOMAIN (entity_domain)
13 #define entity_NEWGEN_DOMAIN (entity_domain)
14 typedef struct _newgen_struct_entity_ * entity;
15 #endif /* _newgen_entity_domain_defined_ */
16 
17 #if !defined(_newgen_range_domain_defined_)
18 #define _newgen_range_domain_defined_
19 #define RANGE_NEWGEN_DOMAIN (range_domain)
20 #define range_NEWGEN_DOMAIN (range_domain)
21 typedef struct _newgen_struct_range_ * range;
22 #endif /* _newgen_range_domain_defined_ */
23 
24 #if !defined(_newgen_Pvecteur_domain_defined_)
25 #define _newgen_Pvecteur_domain_defined_
26 #define newgen_Pvecteur(p) (p) /* old hack compatible */
27 #define PVECTEUR_NEWGEN_EXTERNAL (_gen_message_start+0)
28 #define PVECTEUR_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
29 #define Pvecteur_NEWGEN_DOMAIN (PVECTEUR_NEWGEN_EXTERNAL)
30 #endif /* _newgen_Pvecteur_domain_defined_ */
31 
32 #define message_domain (_gen_message_start+1)
33 #if !defined(_newgen_message_domain_defined_)
34 #define _newgen_message_domain_defined_
35 #define MESSAGE_NEWGEN_DOMAIN (message_domain)
36 #define message_NEWGEN_DOMAIN (message_domain)
38 #endif /* _newgen_message_domain_defined_ */
39 
40 
41 /* MESSAGE
42  */
43 #define MESSAGE(x) ((message)((x).p))
44 #define message_CAST(x) MESSAGE(x)
45 #define MESSAGE_CAST(x) MESSAGE(x)
46 #define MESSAGE_(x) ((x).e)
47 #define MESSAGE_TYPE message
48 #define message_TYPE message
49 #define message_undefined ((message)gen_chunk_undefined)
50 #define message_undefined_p(x) ((x)==message_undefined)
51 
53 extern void free_message(message);
55 extern bool message_consistent_p(message);
56 extern bool message_defined_p(message);
57 #define gen_MESSAGE_cons gen_message_cons
61 extern void write_message(FILE*, message);
62 extern message read_message(FILE*);
64 
67  entity _message_array_; /* array:entity */
68  list _message_content_; /* content:range* */
69  Pvecteur _message_neighbour_; /* neighbour:Pvecteur */
70  list _message_dom_; /* dom:range* */
71 };
72 
73 #define message_domain_number(x) ((x)->_type_)
74 #define message_array_(x) message_array(x) /* old hack compatible */
75 #define message_array(x) ((x)->_message_array_)
76 #define message_content_(x) message_content(x) /* old hack compatible */
77 #define message_content(x) ((x)->_message_content_)
78 #define message_neighbour_(x) message_neighbour(x) /* old hack compatible */
79 #define message_neighbour(x) ((x)->_message_neighbour_)
80 #define message_dom_(x) message_dom(x) /* old hack compatible */
81 #define message_dom(x) ((x)->_message_dom_)
82 
83 #define message_spec "\
84 --NEWGEN-START 114\n\
85 import entity from \"ri.newgen\";\n\
86 import range from \"ri.newgen\";\n\
87 external Pvecteur;\n\
88 message = array:entity x content:range* x neighbour:Pvecteur x dom:range*;\n\
89 "
90 #endif
message read_message(FILE *)
Definition: message.c:51
bool message_defined_p(message)
Definition: message.c:31
message check_message(message)
Definition: message.c:24
void message_non_recursive_free(message)
Definition: message.c:44
message make_message(entity, list, Pvecteur, list)
Definition: message.c:54
void write_message(FILE *, message)
Definition: message.c:48
bool message_consistent_p(message)
Definition: message.c:27
message copy_message(message)
MESSAGE.
Definition: message.c:18
struct _newgen_struct_range_ * range
Definition: message.h:21
void message_assign_contents(message, message)
Definition: message.c:37
list gen_message_cons(message, list)
Definition: message.c:34
void free_message(message)
Definition: message.c:21
struct _newgen_struct_message_ * message
Definition: message.h:37
struct _newgen_struct_entity_ * entity
Definition: message.h:14
#define intptr_t
Definition: stdint.in.h:294
le type des coefficients dans les vecteurs: Value est defini dans le package arithmetique
Definition: vecteur-local.h:89
list _message_dom_
neighbour:Pvecteur
Definition: message.h:70
list _message_content_
array:entity
Definition: message.h:68
Pvecteur _message_neighbour_
content:range*
Definition: message.h:69
The structure used to build lists in NewGen.
Definition: newgen_list.h:41