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
|