The public API of the H3 Core Library is defined in the file
The functions defined in
h3api.h adhere to Semantic Versioning.
h3api.h.in is preprocessed into the file
h3api.h as part of H3's build process. The preprocessing inserts the correct values for the
The H3 API expects valid input. Behavior of the library may be undefined when given invalid input. Indexes should be validated with
isValidDirectedEdge as appropriate.
The library attempts to validate inputs and return useful error codes if input is invalid. Which inputs are validated, and how precisely they are validated, may change between versions of the library. As a result the specific error code returned may change.
H3_PREFIX exists to rename all functions in the H3 public API with a prefix chosen at compile time. The default is to have no prefix.
This can be needed when linking multiple copies of the H3 library in order to avoid naming collisions. Internal functions and symbols are not renamed.