Daniel I didn't suggest forcing pure virtual if not needed. Removing the work "abstract" is perfectly fine. I'll remove the word abstract for QueryPlugin, and, ok I won't touch the ColumnRef Jacek On 03/31/2014 06:41 PM, Daniel L. Wang wrote: > 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