Print

Print


On 03/31/2014 05:02 PM, Becla, Jacek wrote:
> Daniel
>
> I noticed several classes have "abstract" in description,
> but they are not really abstract (no pure virtual function)
>
>
> /// Factory is an abstract class for specific QueryPlugin Factories
If it bothers you, you can take out 'abstract' and call it an interface 
(which annoys Java people, I'm sure). It has default implementations 
because I had bad memories of vptr compiler/linker messages when I wrote 
this.


> /// ColumnRef is an abstract value class holding a parsed single column ref
Well, "abstract value class" is a term I borrowed from David Cheriton, 
and describes a class for values with no real behavior (other than 
convenience constructors), no private data, and should never be 
inherited. I am not sure if anyone other than him and those who have 
worked with him use that term.

> We should either fix these comments, or turn them into real abstract
> class. Can you?
Please do not change the abstract value classes into pure virtual 
classes. They would be absolutely useless. Can you think of a better 
term for a "bundle of values with no behavior that should never be 
inherited from"?

I don't mind removing 'abstract' from QueryPlugin::Factory, though.

-Daniel

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the QSERV-L list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=QSERV-L&A=1