[Box Backup-dev] COMMIT r348 - in box/chris/bb-save-state: . bin/bbackupd lib/common lib/server

Gary boxbackup-dev@fluffy.co.uk
Mon, 30 Jan 2006 12:02:29 -0800 (PST)


Just some (loose) thoughts...

> OK, I've done something similar (entirely replaced Get() and Add() with 
> Read() and Write()) in the bb-save-state branch. I removed all operator 
> overloading.

Well, the whole purpose of the Archive class with operator overloading and multiple type-dependent
store/retrieve calls was to simplify the main body of code (functionality implementation) as much
as possible. Once those are gone, the whole Archive class should go as well, as there is no reason
for it to exist anymore.

> > Also, in my experience, defining virtual functions inline in header 
> > files causes problems with compilers. I'm sure MSVC has been fixed now, 
> > but still... :-)

>From my experience, a vtable (polymorphic) call is always guaranteed, unless the compiler can
figure out that it is not possible for an object can be polymorphic (no derivations exist, or a
local stack variable, or RTTI disabled in complier settings, etc.), in which case it can inline to
speed up processing. I think it works correctly under any compiler I have encountered, but I
certainly understand that it's best to be on the safe side, when it comes to such a cross-platform
project.

Apologies for generating extra work for others, I hate doing that.

Gary


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com