source: XIOS/dev/dev_olga/src/extern/src_netcdf4/occonstraints.h @ 1022

Last change on this file since 1022 was 1022, checked in by mhnguyen, 7 years ago
File size: 1.1 KB
Line 
1/* Copyright 2009, UCAR/Unidata and OPeNDAP, Inc.
2   See the COPYRIGHT file for more information. */
3
4#ifndef CONSTRAINTS_H
5#define CONSTRAINTS_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.*/
14} OCslice;
15
16/*! Specifies a form of path where each element can have a set of associated indices */
17typedef struct OCpath {
18    OClist* names;
19    OClist* indexsets; /* oclist<oclist<Slice>> */
20} OCpath;
21
22/*! Specifies a ProjectionClause. */
23typedef struct OCprojectionclause {
24    char* target; /* "variable name" as mentioned in the projection */
25    OClist* indexsets; /* oclist<oclist<OCslice>> */
26    struct OCnode* node; /* node with name matching target, if any. */
27    int    gridconstraint; /*  used only for testing purposes */
28} OCprojectionclause;
29
30/*! Selection is the node type for selection expression trees */
31typedef struct OCselectionclause {
32    int op;
33    char* value;
34    struct OCselectionclause* lhs;
35    OClist* rhs;
36} OCselectionclause;
37
38
39#endif /*CONSTRAINTS_H*/
Note: See TracBrowser for help on using the repository browser.