diff options
author | Vailin Choi <vchoi@hdfgroup.org> | 2018-05-14 16:20:03 (GMT) |
---|---|---|
committer | Vailin Choi <vchoi@hdfgroup.org> | 2018-05-14 16:20:03 (GMT) |
commit | ea66ac1e67bf2e5ccc59f30e6b648bb39c8f5e42 (patch) | |
tree | e71e1c6ffd6b6b4126ed232402beb5a80e5335d9 /src/H5Spkg.h | |
parent | e6bc326ec0c417ef7b003da535b2e071442d2067 (diff) | |
parent | dcc66a4f157ace0858b788228550f3e104df3242 (diff) | |
download | hdf5-ea66ac1e67bf2e5ccc59f30e6b648bb39c8f5e42.zip hdf5-ea66ac1e67bf2e5ccc59f30e6b648bb39c8f5e42.tar.gz hdf5-ea66ac1e67bf2e5ccc59f30e6b648bb39c8f5e42.tar.bz2 |
Merging in latest from upstream (HDFFV/hdf5:refs/heads/develop)
* commit 'dcc66a4f157ace0858b788228550f3e104df3242': (35 commits)
GGC requires attribute before function
Correct COMPILE defs usage
Add missing module_dir property
Text cleanup
Correct sentence punctuation.
Add release note.
Use set_property for MT flag
Correct command usage
Remove APPEND
Fix typo
Add missing test lib
add missing folder to path
Fix another command revert
Missed a command revert
Revert to old style for LINK_FLAGS gen expr not working
LINK_FLAGS must be separate property sets
Fix link flags syntax
Revert refactor link flags
refactor link flags to interface
Refactor link flags
...
Diffstat (limited to 'src/H5Spkg.h')
-rw-r--r-- | src/H5Spkg.h | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/src/H5Spkg.h b/src/H5Spkg.h index 5312ce7..6ded287 100644 --- a/src/H5Spkg.h +++ b/src/H5Spkg.h @@ -99,7 +99,7 @@ struct H5S_hyper_span_t { struct H5S_hyper_span_t *next; /* Pointer to next span in list */ }; -/* Information about a list of hyperslab spans */ +/* Information about a list of hyperslab spans in one dimension */ struct H5S_hyper_span_info_t { unsigned count; /* Ref. count of number of spans which share this span */ struct H5S_hyper_span_info_t *scratch; /* Scratch pointer @@ -122,9 +122,9 @@ typedef struct { * are only used for re-gurgitating the original values used to set the * hyperslab to the application when it queries the hyperslab selection * information. */ - int unlim_dim; /* Dimension where selection is unlimited, or -1 if none */ - hsize_t num_elem_non_unlim; /* # of elements in a "slice" excluding the unlimited dimension */ - H5S_hyper_span_info_t *span_lst; /* List of hyperslab span information */ + int unlim_dim; /* Dimension where selection is unlimited, or -1 if none */ + hsize_t num_elem_non_unlim; /* # of elements in a "slice" excluding the unlimited dimension */ + H5S_hyper_span_info_t *span_lst; /* List of hyperslab span information */ } H5S_hyper_sel_t; /* Selection information methods */ @@ -161,7 +161,7 @@ typedef htri_t (*H5S_sel_is_single_func_t)(const H5S_t *space); /* Method to determine if current selection is "regular" */ typedef htri_t (*H5S_sel_is_regular_func_t)(const H5S_t *space); /* Method to adjust a selection by an offset */ -typedef herr_t (*H5S_sel_adjust_u_func_t)(H5S_t *space, const hsize_t *offset); +typedef void (*H5S_sel_adjust_u_func_t)(H5S_t *space, const hsize_t *offset); /* Method to construct single element projection onto scalar dataspace */ typedef herr_t (*H5S_sel_project_scalar)(const H5S_t *space, hsize_t *offset); /* Method to construct selection projection onto/into simple dataspace */ @@ -183,7 +183,7 @@ typedef struct { H5S_sel_deserialize_func_t deserialize; /* Method to store create selection from "serialized" form (a byte sequence suitable for storing on disk) */ H5S_sel_bounds_func_t bounds; /* Method to determine to smallest n-D bounding box containing the current selection */ H5S_sel_offset_func_t offset; /* Method to determine linear offset of initial element in selection within dataspace */ - H5S_sel_unlim_dim_func_t unlim_dim; /* Method to get unlimited dimension of selection (or -1 for none) */ + H5S_sel_unlim_dim_func_t unlim_dim; /* Method to get unlimited dimension of selection (or -1 for none) */ H5S_sel_num_elem_non_unlim_func_t num_elem_non_unlim; /* Method to get the number of elements in a slice through the unlimited dimension */ H5S_sel_is_contiguous_func_t is_contiguous; /* Method to determine if current selection is contiguous */ H5S_sel_is_single_func_t is_single; /* Method to determine if current selection is a single block */ @@ -197,12 +197,15 @@ typedef struct { /* Selection information object */ typedef struct { const H5S_select_class_t *type; /* Pointer to selection's class info */ + hbool_t offset_changed; /* Indicate that the offset for the selection has been changed */ hssize_t offset[H5S_MAX_RANK]; /* Offset within the extent */ - hsize_t num_elem; /* Number of elements in selection */ + + hsize_t num_elem; /* Number of elements in selection */ + union { - H5S_pnt_list_t *pnt_lst; /* List of selected points (order is important) */ - H5S_hyper_sel_t *hslab; /* Info about hyperslab selections */ + H5S_pnt_list_t *pnt_lst; /* Info about list of selected points (order is important) */ + H5S_hyper_sel_t *hslab; /* Info about hyperslab selection */ } sel_info; } H5S_select_t; |