blob: 125e5a2004d26ab5ab5351e3e8041c608b856f56 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# An Overview of the HDF5 Library Architecture
## [Purpose, Objectives, and Values](./purpose_objectives_values.md)
## Data and Metadata
### Mapping User Data to HDF5 Files
#### The HDF5 File Format
### Mapping User Data to Storage
### Data Retained in the Library
## Functional Decomposition
### Components
#### Selection
#### Datatype Conversion
#### Filter Pipeline
#### Caching & Buffering
#### File-space Management
#### Opening a File
#### Creating an Object
#### Dataset I/O
### Use Cases
#### Parallel HDF5
#### SWMR
#### VDS
#### Paged Allocation
#### …
### Feature (In-)Compatibility Matrix
## Modular Library Organization
### Library Internals
#### Boilerplate and Misc.
#### Memory Allocation and Free Lists
#### API Contexts
#### Metadata Cache
#### Files and the Open File List
#### Platform Independence
### Modules
#### IDs
#### Property Lists
#### Error Handling
#### File Objects
#### Datasets
#### Groups and Links
#### Datatypes
#### Dataspaces
#### Attributes
### Extension Interfaces
#### Filters
#### Virtual File Layer and Virtual File Drivers
#### Virtual Object Layer
### Language Bindings
#### General Considerations
#### Fortran
#### Java
## Performance Considerations
## Library Development and Maintenance
### Build Process
### Testing
#### Macro Schemes
#### `testhdf5`
#### Other Test Programs
#### (Power)Shell Scripts
#### CMake vs Autotools
#### VOL and VFD Inclusion/Exclusion
### Versioning and Releases
## References
|