1/* Copyright 2009, UCAR/Unidata and OPeNDAP, Inc.
2   See the COPYRIGHT file for more information. */
3
4#ifndef OCCONSTRAINTS_H
5#define OCCONSTRAINTS_H 1
6
7/*! Specifies an OCslice. */
8typedef struct OCslice {
9    size_t first;
10    size_t count;
11    size_t stride;
12    size_t stop; /* == first + count */
13    size_t declsize;  /* from defining dimension, if any.*/
14OCslice;
15
16/*! Specifies a form of path where each element can have a set of associated indices */
17typedef struct OCpath {
18    OClistnames;
19    OClistindexsets; /* oclist<oclist<Slice>> */
20OCpath;
21
22/*! Specifies a ProjectionClause. */
23typedef struct OCprojectionclause {
24    char* target; /* "variable name" as mentioned in the projection */
25    OClistindexsets; /* oclist<oclist<OCslice>> */
26    struct OCnodenode; /* node with name matching target, if any. */
27    int    gridconstraint; /*  used only for testing purposes */
28OCprojectionclause;
29
30/*! Selection is the node type for selection expression trees */
31typedef struct OCselectionclause {
32    int op;
33    char* value;
34    struct OCselectionclauselhs;
35    OClistrhs;
36OCselectionclause;
37
38
39#endif /*OCCONSTRAINTS_H*/


HyperKWIC - Version 7.20DA executed at 11:37 on 27 Oct 2017 | Polyhedron Solutions - INTERNAL USE | COMMERCIAL (Any O/S) SN 4AKIed