Linked by Thom Holwerda on Sun 10th Sep 2006 20:38 UTC, submitted by fudel
Zeta Magnussoft, the company now responsible for development on Zeta, has announced it is accepting pre-orders for Zeta 1.21. This new release will include multi-user support, will be built with GCC4, among other improvements. Bernd Korz's weblog contains more information. Korz was (is?) the CEO of YellowTAB, the company that started Zeta. Read on for a short editorial on this announcement.
Thread beginning with comment 161330
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[9]: multi user???
by Vanders on Mon 11th Sep 2006 15:48 UTC in reply to "RE[8]: multi user???"
Vanders
Member since:
2005-07-06

Well now from what you've just said, I'm not certain if the scheme you are refering too is even slightly similiar to ours, but anyway.

An example: http://syllable.cvs.sourceforge.net/syllable/syllable/system/sys/ap...

Every "external" class in the API has an internal private class that holds all of the data members. The only data member in the external class is a pointer to the corresponding private class. The external class then uses the data members of it's private class, instead of having data members itself. E.g.:

class Foo::Private{
int a;
char z;
float f;
};

class Foo{
public:
Foo();
private:
Private *m;
};

Foo::Foo()
{
m = new Private();
m->a = 42;
m->z = 'b';
m->f = 1.0f;
}

We also reserve vtable slots in every "external" class to provide space if we ever wish to add additional virtual methods without increasing the vtable size.

These two things alone largely take care of the FBC problem. This scheme was designeds by Kurt and has been in use since the very first release of AtheOS, if I remember correctly.

Reply Parent Score: 1

RE[10]: multi user???
by JonathanBThompson on Mon 11th Sep 2006 16:47 in reply to "RE[9]: multi user???"
JonathanBThompson Member since:
2006-05-26

Nope, you've described it well enough: there's a name for that pattern, or rather several names, one being the Cheshire Cat pattern, but that's not that important.

What I have in mind doesn't have any class declaration order issues at all, but does require a bit of glue that can be done with a little bit of macro magic to make it a non-issue. However, what I have in mind is 100% portable and valid C++. The Syllable solution doesn't remotely resemble my idea.

Reply Parent Score: 1