[fpc-pascal] pointer to anything
denis.spir at gmail.com
Fri Apr 23 15:08:52 CEST 2010
On Fri, 23 Apr 2010 08:17:21 -0400
Doug Chamberlin <dougchamberlin at earthlink.net> wrote:
> On 4/23/2010 3:33 AM, spir ☣ wrote:
> > Say I want to implement a kind of linked list which node data may be anything. Thus I cannot store data on place (in nodes), indeed; so it should be referenced. But pointers themselves are supposed to be typed. So, how can I do that?
> The key to solving this problem is to answer the question "How will I
> know what type of data that pointer points to?" Once you determine what
> is being pointed to you can cast Pointer^ to that type and all should work.
> I would use Pointer as an untyped pointer to anything and ignore the
> warning. Perhaps you can turn off that warning for this code segment
> since you are doing this intentionally.
Thank you for both answers.
Are there kinds of untyped data structures in the library (such as sequence/list, table/mapping/hash/dictionary). I'd like to see how they're implemented.
As a detail, my need is not necessarily the collection to be untyped, but the type to be known and/or specified at runtime. So, it is closer to what is sometimes called "generics". I want to implement the container algorithms once only, since they don't depend on the type of the content. Then I may specialise eg a Sequence type into one for strings to add a join method.
vit esse estrany ☣
More information about the fpc-pascal