comp.lang.ada
 help / color / mirror / Atom feed
From: xorque <xorquewasp@googlemail.com>
Subject: Runtime type selection
Date: Sun, 11 Oct 2009 09:41:54 -0700 (PDT)
Date: 2009-10-11T09:41:54-07:00	[thread overview]
Message-ID: <2c15c8a6-b555-4d08-8fe6-f77cb207e7a6@k33g2000yqa.googlegroups.com> (raw)

Hello.

I'd like to develop a program that processes a graph. The contents of
the graph are a random selection of objects of different types (all
elements may be of the same type or may all be different - assuming
there are enough types defined). By 'type' in this case, I am
referring
to Ada types.

The basic problem is that I want to create an object of a type picked
at
random, at runtime. I'm not entirely sure what my options are here.

I could create a base tagged type and derive a set of types from that
base, selecting at random. I could use variant records. It seems that
in
either case, I'd need to create an enumeration type with a 1:1 mapping
between enumeration values and derived types.

Both of these solutions seem a little unwieldly. They also seem like
they'd end up making the program difficult to extend (I'd ideally just
like to derive a new type and have it automatically available to be
selected at random for the graph).

Any ideas would be appreciated. I appreciate the problem is a little
abstract...



             reply	other threads:[~2009-10-11 16:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-11 16:41 xorque [this message]
2009-10-11 17:02 ` Runtime type selection Niklas Holsti
2009-10-11 17:15   ` xorque
2009-10-11 19:54     ` Niklas Holsti
2009-10-12  9:26       ` Georg Bauhaus
2009-10-12 12:02         ` xorque
2009-10-12 23:42       ` Randy Brukardt
2009-10-13  6:50         ` Niklas Holsti
2009-10-13  0:59       ` Adam Beneschan
2009-10-13  7:01         ` Niklas Holsti
2009-10-11 17:15 ` mockturtle
2009-10-11 20:06 ` Dmitry A. Kazakov
2009-10-13 10:45   ` Colin Paul Gloster
2009-10-13 10:17     ` Dmitry A. Kazakov
2009-10-13 15:11 ` xorque
2009-10-13 15:50   ` Dmitry A. Kazakov
2009-10-13 16:02     ` xorque
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox