> FreePascal and Delphi have RTTI, which allows accessing data. One use case is > streaming of a class (well the published part of it).
> This is for example used for GUI apps where the properties of a designed GUI > (form, buttons, ..) are streamed so the runtime can load them. But also ORM > libs make use of it, or REST. > For classes there is a "published" section (public + RTTI). > It can contain fields and properties. > And any code, without knowledge of the class, can read those fields. > In some scenarios it is not needed to stream properties if they have there > default value. So the streaming code needs to access that. > property Foo: integer read GetFoo write SetFoo stored ShouldStoreFoo default > 123; > default takes a value (and exists only for certain data types like integer > properties. It is stored in the RTTI. > Stored can be a function or field (or constant) of boolean type. The RTTI > also has a link to it, so the streaming code can call it. > Stored = true => the property should be stored in the stream > Stored = false -> the property should not be stored Thanks for the clarification Martin. Streaming as a language construct (and controlling whether a property should be streamable or not) seems like a pretty Pascal specific feature, maybe this could be a Pascal extension? > On Oct 7, 2024, at 2:23 AM, Martin via Dwarf-discuss > <dwarf-discuss@lists.dwarfstd.org> wrote: > > On 04/10/2024 21:56, Augusto Noronha via Dwarf-discuss wrote: >> Hi Martin, >> Could you explain what a Pascal-style stored accessor is or link to a >> reference to it? I tried looking it up but couldn’t find anything relevant. > > https://www.freepascal.org/docs-html/ref/refsu38.html > > -- > Dwarf-discuss mailing list > Dwarf-discuss@lists.dwarfstd.org > https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss -- Dwarf-discuss mailing list Dwarf-discuss@lists.dwarfstd.org https://lists.dwarfstd.org/mailman/listinfo/dwarf-discuss