swarm-support
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Linux to MacOSX port effort.


From: Marcus G. Daniels
Subject: Re: Linux to MacOSX port effort.
Date: 30 Apr 2002 17:02:45 -0600
User-agent: Gnus/5.070084 (Pterodactyl Gnus v0.84) Emacs/20.7

>>>>> "MD" == Marcus G Daniels <address@hidden> writes:

MD> It should be possible to implement a scheme like this
MD> (i.e. alternative predefined groups of methods for the same
MD> physical object) using multiple inheritance in C++ and virtual
MD> methods. 

Hmm, let me be more specific.  Take for example the case of List
inheriting from a Collection.  In Swarm, there are these distinct
items:

Object state:
1. The state of the Collection.  Just `number of items', basically.       [CO]
2. The state of the List.        A linked list or set of threaded objects [LO]

Methods that [always] make sense for resetting the state of object:
(e.g. serialization methods, setters)
3. The methods valid for a Collection in either Creating or Using phase   [CS]
4. The methods valid for a List in either Creating or Using phase         [LS]

Methods that only make sense for the construction of an object:
5. The create-time methods valid for a Collection                         [CC]
6. The create-time methods valid for a List                               [CL]

In the Swarm Objective C implementation single inheritance is all that
is needed since it the multi-phase templates that are inherited.  It's
a question of trimming from the total possible dispatch table to get
the set of valid methods for a given phase.

However, in C++, each group could be a different class and specialization
could be done per phase.  Composites like LC and LU would be done by 
multiple inheritance 

    CO -> CS -> CC -> LC <- LS <- LO
             \> CU -> LU </
            

                  ==================================
   Swarm-Support is for discussion of the technical details of the day
   to day usage of Swarm.  For list administration needs (esp.
   [un]subscribing), please send a message to <address@hidden>
   with "help" in the body of the message.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]