Give a class to the types MEOS registers in no enum - #130
Merged
estebanzimanyi merged 1 commit intoSep 3, 2026
Conversation
`PCSCHEMA`, `RTree`, `SPTree` and `MeosArray` are MEOS's own — declared in the umbrella headers, `api=public`, with their whole operation set published — and the model gives them no class, so every method naming one is untypable. The point-cloud accessors are where that bites: `pcpoint_get_x`, `_get_y`, `_get_z`, `_get_dim` and `pcpoint_to_tpcbox` each take the schema the value is read through, and a binding with no class for it reaches none of them. They sit in `Value` beside the base values rather than in a hierarchy of their own. To a binding a pointer to a struct is one thing — an instance it holds and calls through — whether MEOS publishes the struct's layout or forward-declares it, and GoMEOS's wrapper table draws no line between the two either: `SkipList`, `RTree`, `PJ_CONTEXT` and `gsl_rng` are wrapped exactly as `Temporal` and `Set` are. What they do state is a null `temptype`, MEOS registering them in no enum, written out rather than left out so an unregistered type cannot read as one nobody got round to. 67 functions reach a class this way, and none moves off the class it had. A class nothing is CALLED on takes the type it MAKES. Nothing is called on a schema — every accessor takes one as an argument — so the receiver says nothing and `meos_pc_schema` answering a `PCSCHEMA *` is what does. The `char *` answers beside it say nothing, a string being no class's instance. `meos_pc_schema` IS its class's prefix, so dropping the prefix leaves no member name at all. That is the one case the override table exists for, and it now says so; the schema cache's lookup reads `get`.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PCSCHEMA,RTree,SPTreeandMeosArrayare MEOS's own — declared in theumbrella headers,
api=public, with their whole operation set published — andthe model gives them no class, so every method naming one is untypable. The
point-cloud accessors are where that bites:
pcpoint_get_x,_get_y,_get_z,_get_dimandpcpoint_to_tpcboxeach take the schema the value is readthrough, and a binding with no class for it reaches none of them.
They sit in
Valuebeside the base values rather than in a hierarchy of theirown. To a binding a pointer to a struct is one thing — an instance it holds and
calls through — whether MEOS publishes the struct's layout or forward-declares
it, and GoMEOS's wrapper table draws no line between the two either:
SkipList,RTree,PJ_CONTEXTandgsl_rngare wrapped exactly asTemporalandSetare. What they do state is a null
temptype, MEOS registering them in no enum,written out rather than left out so an unregistered type cannot read as one
nobody got round to. 67 functions reach a class this way, and none moves off the
class it had.
A class nothing is CALLED on takes the type it MAKES. Nothing is called on a
schema — every accessor takes one as an argument — so the receiver says nothing
and
meos_pc_schemaanswering aPCSCHEMA *is what does. Thechar *answersbeside it say nothing, a string being no class's instance.
meos_pc_schemaIS its class's prefix, so dropping the prefix leaves no membername at all. That is the one case the override table exists for, and it now says
so; the schema cache's lookup reads
get.