1/*
2 * Copyright 2011      Sven Verdoolaege
3 *
4 * Use of this software is governed by the MIT license
5 *
6 * Written by Sven Verdoolaege.
7 */
8
9#undef TYPE
10#define TYPE CAT(isl_pw_,BASE)
11
12/* Read an object of type "TYPE" from "s" with parameter domain "dom".
13 * "v" contains a description of the identifiers parsed so far.
14 */
15static __isl_give TYPE *FN(isl_stream_read_with_params_pw,BASE)(
16	__isl_keep isl_stream *s, __isl_keep isl_set *dom, struct vars *v)
17{
18	TYPE *obj;
19
20	obj = FN(read_conditional,BASE)(s, isl_set_copy(dom), v);
21
22	while (isl_stream_eat_if_available(s, ';')) {
23		TYPE *obj2;
24
25		obj2 = FN(read_conditional,BASE)(s, isl_set_copy(dom), v);
26		obj = FN(TYPE,union_add)(obj, obj2);
27	}
28
29	return obj;
30}
31