I now have a simple patch for the bitfields issue. It turned out astyle
misread bitfield definitions as labels..

The "block" issue is not yet identified, but is not as irritating
either.

Regards
Henrik


s�n 2003-02-23 klockan 00.33 skrev Robert Collins:
> On Sun, 2003-02-23 at 02:12, Henrik Nordstrom wrote:
> > Robert Collins wrote:
> 
> 
> > > I don't think this is a biggy: as we get more OOP, anonymous structs
> > > will dissappear almost completely.
> > 
> > 
> > Not completely I think. Using anonymous structs is quite handy for
> > grouping related members.
> 
> mmmm, in C style coding yes. I'm pretty sure that over time they will
> all go away - and in a sensible fashion.
> 
> > Here is a example of a quite recently OOP class:
> 
> Please note that this is only 'partly' OOP. It's been factored out from
> the global ACL class, and somewhat refactorded, but there is more that
> can be done:
> 
> > class ACLUserData : public ACLData<char const *>
> > {
> >     [...]
> >     SplayNode<char *> *names;
> > 
> >     struct
> >     {
> > 
> > unsigned int case_insensitive:
> >         1;
> 
> This flag should go away. Instead the Splay class should be a true
> container that we simply insert, remove and find within. The container
> will be parameterised for case sensitivity, and thus ACLUserData class
> won't know whether it is case sensitive or not. For dumping the config
> I'd like a utility class to store parse-once, forget forever options and
> reduce the duplicated wordlist manipulation - and that class will know
> about the -i.
> 
> > unsigned int required:
> >         1;
> 
> This option should go away completely. Instead we should replace the
> ACLUserData instance with another that is also derived from ACLData, and
> that implements the behaviour of REQUIRED. That will remove a bunch of
> 'if' clauses in the ACLUserData class.
> 
> >     }
> > 
> >     flags;
> > 
> > private:
> >     static MemPool *Pool;
> > };
> > 
> > 
> > We could rewrite this to drop any internal grouping of members within
> > classes, but I prefer not.
> 
> IMO it's not about dropping the grouping, its that the specific members
> actually control behaviour - and that is almost always a perfect
> scenario for the user of a strategy or state (the insensitive flag), and
> for polymorphism (i.e. ACLRequiredDATA).
> 
> Rob
-- 
Henrik Nordstrom <[EMAIL PROTECTED]>
MARA Systems AB, Sweden

Reply via email to