According to the C++ FAQ Lite: http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality"
(which just means avoiding solutions which are overly specific),
"genericity" means class templates.
This is *not* correct.
Class templates are *not* generally generic.
Usually, class templates are only be used to generate template classes
for a restricted set of types.
Only class templates which are designed to generate template classes
for *all* types are truly generic.
The standard vector class template, for example, is generic but
the standard valarry class template is *not* generic
because it only makes sense for numeric types. 22 2022
E. Robert Tisdale wrote: According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
So, what you're telling us is there are generic templates and branded(TM)
templates? :-)
Seriously, I find your observation interesting. Is this interpretation of
the meaning of 'genericity' your own, or is there an 'established
authority'?
--
p->m == (*p).m == p[0].m http://www.kdevelop.org http://www.suse.com http://www.mozilla.org
E. Robert Tisdale wrote: According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
So, what you're telling us is there are generic templates and branded(TM)
templates? :-)
Seriously, I find your observation interesting. Is this interpretation of
the meaning of 'genericity' your own, or is there an 'established
authority'?
--
p->m == (*p).m == p[0].m http://www.kdevelop.org http://www.suse.com http://www.mozilla.org
Steven T. Hatton wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
So, what you're telling us is there are generic templates and branded(TM) templates? :-)
Seriously, I find your observation interesting. Is this interpretation of the meaning of 'genericity' your own, or is there an 'established authority'?
Pick the dictionary of your choice. I use
The American Heritage® Dictionary of the English Language:
Fourth Edition: http://www.bartleby.com/61/
generic
ADJECTIVE:1. Relating to or descriptive of an entire group or class;
general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean
belonging to, relating to, or affecting the whole: the general welfare;
a common enemy; generic likenesses; universal military conscription.
Steven T. Hatton wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
So, what you're telling us is there are generic templates and branded(TM) templates? :-)
Seriously, I find your observation interesting. Is this interpretation of the meaning of 'genericity' your own, or is there an 'established authority'?
Pick the dictionary of your choice. I use
The American Heritage® Dictionary of the English Language:
Fourth Edition: http://www.bartleby.com/61/
generic
ADJECTIVE:1. Relating to or descriptive of an entire group or class;
general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean
belonging to, relating to, or affecting the whole: the general welfare;
a common enemy; generic likenesses; universal military conscription.
On Tue, 06 Apr 2004 10:24:40 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
I suppose the word "genericity" doesn't necessarily in and of itself have
to imply "templates." But in the context of C++, it pretty much does, and
the C++ FAQ Lite isn't attempting to define terms as used outside that
context. In any case, C++ happens to be the only context /I've/ ever seen
it used in. While it isn't in the Merriam-Webster online dictionary as such
(note that under "generic", the MW shows "genericness", not "genericity"),
here's one technical site's definition of it:
The possibility for a language to provided (sic.) parameterized
modules or types. e.g. List(of:Integer) or List(of:People).
Okay, the grammatical error doesn't exactly inspire high levels of
confidence in the source, but this does sound right, and it certainly
describes the functionality of templates in C++.
If some templates just happen to be designed to work only for class-typed
template parameters, or even only for a very narrow selection of classes
(e.g., std::string), that hardly seems reason enough (at least to me) to
proclaim that those templates are no longer examples of "genericity".
-leor
--
Leor Zolman --- BD Software --- www.bdsoft.com
On-Site Training in C/C++, Java, Perl and Unix
C++ users: Download BD Software's free STL Error Message Decryptor at: www.bdsoft.com/tools/stlfilt.html
On Tue, 06 Apr 2004 10:24:40 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
I suppose the word "genericity" doesn't necessarily in and of itself have
to imply "templates." But in the context of C++, it pretty much does, and
the C++ FAQ Lite isn't attempting to define terms as used outside that
context. In any case, C++ happens to be the only context /I've/ ever seen
it used in. While it isn't in the Merriam-Webster online dictionary as such
(note that under "generic", the MW shows "genericness", not "genericity"),
here's one technical site's definition of it:
The possibility for a language to provided (sic.) parameterized
modules or types. e.g. List(of:Integer) or List(of:People).
Okay, the grammatical error doesn't exactly inspire high levels of
confidence in the source, but this does sound right, and it certainly
describes the functionality of templates in C++.
If some templates just happen to be designed to work only for class-typed
template parameters, or even only for a very narrow selection of classes
(e.g., std::string), that hardly seems reason enough (at least to me) to
proclaim that those templates are no longer examples of "genericity".
-leor
--
Leor Zolman --- BD Software --- www.bdsoft.com
On-Site Training in C/C++, Java, Perl and Unix
C++ users: Download BD Software's free STL Error Message Decryptor at: www.bdsoft.com/tools/stlfilt.html
On Tue, 06 Apr 2004 11:27:10 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: Seriously, I find your observation interesting. Is this interpretation of the meaning of 'genericity' your own, or is there an 'established authority'? Pick the dictionary of your choice. I use The American Heritage® Dictionary of the English Language: Fourth Edition:
http://www.bartleby.com/61/
generic
That's "generic", a form of which is "genericness". We're talking about
"genericity", for which I haven't found any (non-nerdish) dictionary
entries yet.
-leor ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean belonging to, relating to, or affecting the whole: the general welfare; a common enemy; generic likenesses; universal military conscription.
--
Leor Zolman --- BD Software --- www.bdsoft.com
On-Site Training in C/C++, Java, Perl and Unix
C++ users: Download BD Software's free STL Error Message Decryptor at: www.bdsoft.com/tools/stlfilt.html
On Tue, 06 Apr 2004 11:27:10 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: Seriously, I find your observation interesting. Is this interpretation of the meaning of 'genericity' your own, or is there an 'established authority'? Pick the dictionary of your choice. I use The American Heritage® Dictionary of the English Language: Fourth Edition:
http://www.bartleby.com/61/
generic
That's "generic", a form of which is "genericness". We're talking about
"genericity", for which I haven't found any (non-nerdish) dictionary
entries yet.
-leor ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean belonging to, relating to, or affecting the whole: the general welfare; a common enemy; generic likenesses; universal military conscription.
--
Leor Zolman --- BD Software --- www.bdsoft.com
On-Site Training in C/C++, Java, Perl and Unix
C++ users: Download BD Software's free STL Error Message Decryptor at: www.bdsoft.com/tools/stlfilt.html
"E. Robert Tisdale" <E.**************@jpl.nasa.gov> wrote in message
news:40************@jpl.nasa.gov... According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
It sounds to me like you're applying the description backwards. The
statement does not say the term "templates" implies "genericity" (or
"genericness"), but the other way around: that saying "genericity" implies
"templates". So if some templates are not "generic", that's fine, but of
you want to apply a "generic" solution, then you're talking about using
tmeplates.
"Of course, that's just my opinion...I could be wrong."
-Howard
"E. Robert Tisdale" <E.**************@jpl.nasa.gov> wrote in message
news:40************@jpl.nasa.gov... According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
It sounds to me like you're applying the description backwards. The
statement does not say the term "templates" implies "genericity" (or
"genericness"), but the other way around: that saying "genericity" implies
"templates". So if some templates are not "generic", that's fine, but of
you want to apply a "generic" solution, then you're talking about using
tmeplates.
"Of course, that's just my opinion...I could be wrong."
-Howard
E. Robert Tisdale wrote: Steven T. Hatton wrote:
Pick the dictionary of your choice. I use The American Heritage® Dictionary of the English Language: Fourth Edition:
Yup! That's my dictionary of choice! http://www.bartleby.com/61/ www.dict.org is what I get from kdict on my Linux box.
generic
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean belonging to, relating to, or affecting the whole: the general welfare; a common enemy; generic likenesses; universal military conscription.
I hope I didn't come across as challenging your usage. That wasn't my
intent. I just received my copy of _C++ Templates: The Complete Guide_,
and the authors do take issue with the simplistic notion that 'programming
with tmplates'='generic programming'. They suggest the distinguishing
feature of generic programming is that "[t]emplates have to be designated
in a framework for the purpose of enabling a multitude of useful
combination." That statement seems to be rather open to interpretation.
Regardless of the semantics, the observation you presented is significant.
I'm not taking a side in the genericity debate. ;-)
--
p->m == (*p).m == p[0].m http://www.kdevelop.org http://www.suse.com http://www.mozilla.org
E. Robert Tisdale wrote: Steven T. Hatton wrote:
Pick the dictionary of your choice. I use The American Heritage® Dictionary of the English Language: Fourth Edition:
Yup! That's my dictionary of choice! http://www.bartleby.com/61/ www.dict.org is what I get from kdict on my Linux box.
generic
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
SYNONYMS:general, common, generic, universal These adjectives mean belonging to, relating to, or affecting the whole: the general welfare; a common enemy; generic likenesses; universal military conscription.
I hope I didn't come across as challenging your usage. That wasn't my
intent. I just received my copy of _C++ Templates: The Complete Guide_,
and the authors do take issue with the simplistic notion that 'programming
with tmplates'='generic programming'. They suggest the distinguishing
feature of generic programming is that "[t]emplates have to be designated
in a framework for the purpose of enabling a multitude of useful
combination." That statement seems to be rather open to interpretation.
Regardless of the semantics, the observation you presented is significant.
I'm not taking a side in the genericity debate. ;-)
--
p->m == (*p).m == p[0].m http://www.kdevelop.org http://www.suse.com http://www.mozilla.org
"E. Robert Tisdale" <E.**************@jpl.nasa.gov> wrote According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct.
You have to read it in context. You're overanalyzing a FAQ, not a standard
document. There's no requirement for an item in a FAQ to be rigorously
accurate and complete. For anyone looking for a quick answer to "what is
genericity" in the context of C++, pointing them to templates isn't doing
them a disservice. Are there other ways to implement genericity? Plenty, but
discussing them would be terribly out of place in a FAQ.
Class templates are *not* generally generic.
NOTHING is generally generic. You can't put unrealistic expectations on
templates.
Usually, class templates are only be used to generate template classes for a restricted set of types.
Any generic solution is limited to types for which the operations make
sense.
Only class templates which are designed to generate template classes for *all* types are truly generic.
Absurd.
The standard vector class template, for example, is generic
Wrong! Vectors can only be instantiated on certain types, namely, those that
implement value semantics. You can't have vectors of objects that can't be
copied or directly instantiated.
but the standard valarry class template is *not* generic because it only makes sense for numeric types.
It's generic for that domain. It's unreasonable, unrealistic, and naive to
expect any solution to cross all possible problem domains. You need to
rethink your absolutist preconceptions.
Claudio Puviani
"E. Robert Tisdale" <E.**************@jpl.nasa.gov> wrote According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct.
You have to read it in context. You're overanalyzing a FAQ, not a standard
document. There's no requirement for an item in a FAQ to be rigorously
accurate and complete. For anyone looking for a quick answer to "what is
genericity" in the context of C++, pointing them to templates isn't doing
them a disservice. Are there other ways to implement genericity? Plenty, but
discussing them would be terribly out of place in a FAQ.
Class templates are *not* generally generic.
NOTHING is generally generic. You can't put unrealistic expectations on
templates.
Usually, class templates are only be used to generate template classes for a restricted set of types.
Any generic solution is limited to types for which the operations make
sense.
Only class templates which are designed to generate template classes for *all* types are truly generic.
Absurd.
The standard vector class template, for example, is generic
Wrong! Vectors can only be instantiated on certain types, namely, those that
implement value semantics. You can't have vectors of objects that can't be
copied or directly instantiated.
but the standard valarry class template is *not* generic because it only makes sense for numeric types.
It's generic for that domain. It's unreasonable, unrealistic, and naive to
expect any solution to cross all possible problem domains. You need to
rethink your absolutist preconceptions.
Claudio Puviani
Leor Zolman wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
I suppose the word "genericity" doesn't necessarily in and of itself have to imply "templates." But in the context of C++, it pretty much does, and the C++ FAQ Lite isn't attempting to define terms as used outside that context. In any case, C++ happens to be the only context /I've/ ever seen it used in. While it isn't in the Merriam-Webster online dictionary as such (note that under "generic", the MW shows "genericness", not "genericity"), here's one technical site's definition of it:
The possibility for a language to provided (sic.) parameterized modules or types. e.g. List(of:Integer) or List(of:People).
Okay, the grammatical error doesn't exactly inspire high levels of confidence in the source, but this does sound right, and it certainly describes the functionality of templates in C++.
If some templates just happen to be designed to work only for class-typed template parameters, or even only for a very narrow selection of classes (e.g., std::string), that hardly seems reason enough (at least to me) to proclaim that those templates are no longer examples of "genericity".
Genericity implies that the class template is *generic* or general.
Few class templates have that property.
The standard complex class templates, for example,
only work for floating-point types float, double and long double.
Although genericity implies class templates in C++,
the converse is seldom true.
Class templates do *not* imply genericity in C++.
Leor Zolman wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
This is *not* correct. Class templates are *not* generally generic. Usually, class templates are only be used to generate template classes for a restricted set of types. Only class templates which are designed to generate template classes for *all* types are truly generic. The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
I suppose the word "genericity" doesn't necessarily in and of itself have to imply "templates." But in the context of C++, it pretty much does, and the C++ FAQ Lite isn't attempting to define terms as used outside that context. In any case, C++ happens to be the only context /I've/ ever seen it used in. While it isn't in the Merriam-Webster online dictionary as such (note that under "generic", the MW shows "genericness", not "genericity"), here's one technical site's definition of it:
The possibility for a language to provided (sic.) parameterized modules or types. e.g. List(of:Integer) or List(of:People).
Okay, the grammatical error doesn't exactly inspire high levels of confidence in the source, but this does sound right, and it certainly describes the functionality of templates in C++.
If some templates just happen to be designed to work only for class-typed template parameters, or even only for a very narrow selection of classes (e.g., std::string), that hardly seems reason enough (at least to me) to proclaim that those templates are no longer examples of "genericity".
Genericity implies that the class template is *generic* or general.
Few class templates have that property.
The standard complex class templates, for example,
only work for floating-point types float, double and long double.
Although genericity implies class templates in C++,
the converse is seldom true.
Class templates do *not* imply genericity in C++.
Howard wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
The statement does not say [that] the term "templates" implies "genericity" (or "genericness") but the other way around: that saying "genericity" implies "templates". So if some templates are not "generic", that's fine but, if you want to apply a "generic" solution, then you're talking about using templates.
Correct.
Howard wrote: E. Robert Tisdale wrote:
According to the C++ FAQ Lite:
http://www.parashift.com/
[34.11] What is "genericity"?
Yet another way to say, "class templates."
Not to be confused with "generality" (which just means avoiding solutions which are overly specific), "genericity" means class templates.
The statement does not say [that] the term "templates" implies "genericity" (or "genericness") but the other way around: that saying "genericity" implies "templates". So if some templates are not "generic", that's fine but, if you want to apply a "generic" solution, then you're talking about using templates.
Correct.
E. Robert Tisdale wrote: E. Robert Tisdale wrote:
[snip] The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
[snip]
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
[snip]
Who says the numeric types don't comprise an "entire group or class"?
From the Oxford Concise English Dictionary, 9th edition, "*generic*
[...] 2 /Biol./ Characteristic of or belonging to a genus." In this
other technical sense, then, genericity is quite a limited thing: it
doesn't refer to entire families, orders, classes, phyla or kingdoms.
--
Regards,
Buster.
E. Robert Tisdale wrote: E. Robert Tisdale wrote:
[snip] The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
[snip]
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
[snip]
Who says the numeric types don't comprise an "entire group or class"?
From the Oxford Concise English Dictionary, 9th edition, "*generic*
[...] 2 /Biol./ Characteristic of or belonging to a genus." In this
other technical sense, then, genericity is quite a limited thing: it
doesn't refer to entire families, orders, classes, phyla or kingdoms.
--
Regards,
Buster.
On Tue, 06 Apr 2004 11:27:10 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
According to your definition below, that isn't a problem.
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
valarray relates to the entire group/class of numeric types. What is
non-generic about that?
Tom
--
C++ FAQ: http://www.parashift.com/c++-faq-lite/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html
On Tue, 06 Apr 2004 11:27:10 -0700, "E. Robert Tisdale"
<E.**************@jpl.nasa.gov> wrote: The standard vector class template, for example, is generic but the standard valarry class template is *not* generic because it only makes sense for numeric types.
According to your definition below, that isn't a problem.
ADJECTIVE:1. Relating to or descriptive of an entire group or class; general. See synonyms at general.
valarray relates to the entire group/class of numeric types. What is
non-generic about that?
Tom
--
C++ FAQ: http://www.parashift.com/c++-faq-lite/
C FAQ: http://www.eskimo.com/~scs/C-faq/top.html This discussion thread is closed Replies have been disabled for this discussion. Similar topics
22 posts
views
Thread by E. Robert Tisdale |
last post: by
| | | | | | | | | | |