Movatterモバイル変換


[0]ホーム

URL:


Issue 105 - WG21 CWG Issues
Title
Meaning of "template function"
Status
tc1
Section
Clause [13] [temp]
Submitter
Daveed Vandevoorde

Created on1999-04-16.00:00:00 last changed48 months ago

Messages

msg6640 (view)
Date: 2000-10-15.00:00:00

Proposed resolution (10/00):

In Clause 3 [intro.defs] “signature,”replace "template function specialization"by "function template specialization".

In 11.4.2 [class.mfct] paragraph 2, replace "templatemember functions" by "member functions of class templates andmember function templates."

In 12.2.2 [over.match.funcs] paragraph 7 and footnote, replaceall instances of "template functions" by "function templatespecializations."

In 12.2.4 [over.match.best] paragraph 1, fourth bullet (counting allbullets in that paragraph), replace "template function specialization" by"function template specialization". In the fifth bullet, replace"template functions" by "function template specializations."

In 12.3 [over.over] paragraph 2, replace "templatefunction" by "function template specialization."

Change 12.3 [over.over] paragraph 4 from:

If more than one function is selected, any template functionsin the set are eliminated if the set also contains a non-template function,and any given template function is eliminated if the set contains a secondtemplate function that is more specialized than the first according tothe partial ordering rules of 13.7.7.3 [temp.func.order]. After such eliminations, if any,there shall remain exactly one selected function.
to:
If more than one function is selected, any functiontemplate specializationsin the set are eliminated if the set also contains a non-template function,and any given function template specializationF1 is eliminated if the set contains asecond function template specialization whose function template is more specialized thanthe function template ofF1 according to the partial ordering rules of13.7.7.3 [temp.func.order]. After such eliminations, if any, there shall remain exactly oneselected function.

Change text in section Clause 13 [temp] paragraph 8 from:

A template function declared both exported and inline is justinline and not exported.
to:
A function template declared both exported and inline is justinline and not exported.

In 13.7.5 [temp.friend] paragraph 1, third bullet, replace"template function" by "function template" and "functionspecialization" by "function template specialization."

In footnote 130 (13.7.7 [temp.fct] paragraph 2),replace "template functions" by "function template specializations."

In 13.7.7.3 [temp.func.order] paragraph 1, third bullet change "templatefunction specialization" to "function template specialization".

In 13.10.3 [temp.deduct] paragraph 1, change "template function specialization"to "function template specialization".

In _N4567_.17.3 [definitions] “component”change "non-member template functions thatoperate" to "non-member function templates that operate".

In _N4567_.17.3 [definitions] “traits class”change "template classes and template functions"to "class templates and function templates".

In 22.2 [utility] paragraph 1 change:

This subclause contains some basic template functions and classesthat are used throughout the rest of the library.
to:
This subclause contains some basic function and class templatesthat are used throughout the rest of the library.

In 22.3 [pairs] paragrah 1 change "template function" to "functiontemplate".

In footnote 215 (_N3225_.20.8.11 [function.pointer.adaptors] paragraph 6)change "template functions" to "function templates".

In 28.3.3.1 [locale] paragraph 4 change "template function" to "functiontemplate".

In 24.3 [iterator.requirements] paragraph 2 change "template function"to "function template".

In 24.4.2 [std.iterator.tags] paragraph 1, change "templatefunction" to "function template specialization."

In 24.4.3 [iterator.operations] paragraph 1 change "template function"to "function template", and "These functions use" to "These function templatesuse".

In the section heading of 31.7.6.3.4 [ostream.inserters.character]change "template functions" to "function templates".

In 16.3.2.3 [structure.requirements] paragraph 2 change "templateclass namechar_traits" to "class templatechar_traits".

In the section heading of 17.3.5 [numeric.limits] change "Templateclass" to "Class template".

In 16.4.4.6 [allocator.requirements] paragraph 3 change "templateclass memberrebind" to "member class templaterebind"and change "template typedef" to "typedef template".

In the section heading of _N4140_.D.9.1 [depr.lib.binder.1st] change "Templateclass" to "Class template".

In the section heading of _N4140_.D.9.3 [depr.lib.binder.2nd] change "Templateclass" to "Class template".

In the section heading of _N4140_.D.10.1 [auto.ptr] change "Template class"to "Class template".

In the section heading of 27.4.3 [basic.string] change "Templateclass" to "Class template".

In 27.4.3 [basic.string] paragraphs 1 and 2 change "template classbasic_string"to "class templatebasic_string".

In the section heading of 28.3.4.2.2 [locale.ctype] change "Templateclass" to "Class template".

In the section heading of 28.3.4.2.3 [locale.ctype.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.2.5 [locale.codecvt] change "Templateclass" to "Class template".

In the section heading of 28.3.4.2.6 [locale.codecvt.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.3.2 [locale.num.get] change "Templateclass" to "Class template".

In the section heading of 28.3.4.3.3 [locale.nm.put] change "Templateclass" to "Class template".

In the section heading of 28.3.4.4.1 [locale.numpunct] change "Templateclass" to "Class template".

In the section heading of 28.3.4.4.2 [locale.numpunct.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.5.1 [locale.collate] change "Templateclass" to "Class template".

In the section heading of 28.3.4.5.2 [locale.collate.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.6.2 [locale.time.get] change "Templateclass" to "Class template".

In the section heading of 28.3.4.6.3 [locale.time.get.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.6.4 [locale.time.put] change "Templateclass" to "Class template".

In the section heading of 28.3.4.6.5 [locale.time.put.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.7.2 [locale.money.get] change "Templateclass" to "Class template".

In the section heading of 28.3.4.7.3 [locale.money.put] change "Templateclass" to "Class template".

In the section heading of 28.3.4.7.4 [locale.moneypunct] change "Templateclass" to "Class template".

In the section heading of 28.3.4.7.5 [locale.moneypunct.byname] change"Template class" to "Class template".

In the section heading of 28.3.4.8.2 [locale.messages] change "Templateclass" to "Class template".

In the section heading of 28.3.4.8.3 [locale.messages.byname] change"Template class" to "Class template".

In the section heading of 23.3.5 [deque] change "Template class"to "Class template".

In the section heading of 23.3.11 [list] change "Template class"to "Class template".

In the section heading of 23.6.3 [queue] change "Template class"to "Class template".

In the section heading of 23.6.4 [priority.queue] change "Templateclass" to "Class template".

In the section heading of 23.6.6 [stack] change "Template class"to "Class template".

In the section heading of 23.3.13 [vector] change "Template class"to "Class template".

In the section heading of 23.4.3 [map] change "Template class"to "Class template".

In the section heading of 23.4.4 [multimap] change "Template class"to "Class template".

In the section heading of 23.4.6 [set] change "Template class"to "Class template".

In the section heading of 23.4.7 [multiset] change "Template class"to "Class template".

In the section heading of 22.9.2 [template.bitset] change "Templateclass" to "Class template".

In 22.9.2 [template.bitset] paragraph 1, change "template class"to "class template".

In the section heading of 24.5.1.2 [reverse.iterator] change "Templateclass" to "Class template".

In the section heading of 24.5.2.2 [back.insert.iterator] change"Template class" to "Class template".

In the section heading of 24.5.2.3 [front.insert.iterator] change"Template class" to "Class template".

In the section heading of 24.5.2.4 [insert.iterator] change "Templateclass" to "Class template".

In 24.6 [stream.iterators] paragraph 1, change "template classes"to "class templates".

In the section heading of 24.6.2 [istream.iterator] change "Templateclass" to "Class template".

In the section heading of 24.6.3 [ostream.iterator] [lib.ostream.iterator] change "Templateclass" to "Class template".

In the section heading of 24.6.4 [istreambuf.iterator] change "Templateclass" to "Class template".

In 24.6.4 [istreambuf.iterator] paragraph 1, change "template class"to "class template".

In the section heading of 24.6.4.2 [istreambuf.iterator.proxy]change "Template class" to "Class template".

In the section heading of 24.6.5 [ostreambuf.iterator] change "Templateclass" to "Class template".

In 24.6.5 [ostreambuf.iterator] paragraph 1, change "template class"to "class template".

In 29.4 [eq:rand.dist.bern.bernoulli] paragraph 1, change "template class"to "class template".

In the section heading of 29.4.3 [complex] change "Template class"to "Class template".

In 29.6.1 [valarray.syn] paragraph 1, change "template classes"to "class templates" and change "function signatures" to "function templates".

In the section heading of 29.6.2 [template.valarray] change "Templateclass" to "Class template".

In the section heading of 29.6.5 [template.slice.array] change"Template class" to "Class template".

In the section heading of 29.6.7 [template.gslice.array] change"Template class" to "Class template".

In the section heading of 29.6.8 [template.mask.array] change "Templateclass" to "Class template".

In the section heading of 29.6.9 [template.indirect.array] change"Template class" to "Class template".

In 31.3 [iostream.forward] [lib.iostream.forward] paragraphs 3 to 7, change "templateclasses" to "class templates".[Note: Some editorial changes were made in paragraphs 2 to 8 when thesechanges were applied in September 2001.]

In the section heading of 31.5.3 [fpos] change "Template class"to "Class template".

In the section heading of 31.5.4 [ios] change "Template class"to "Class template".

In the section heading of 31.6.3 [streambuf] change "Template class"to "Class template".

In 31.6.3 [streambuf] paragraphs 2 and 3, change "template class"to "class template".

In the section heading of 31.7.5.2 [istream] change "Template class"to "Class template".

In the section heading of 31.7.5.7 [iostreamclass] change "Templateclass" to "Class template".

In the section heading of 31.7.6.2 [ostream] change "Template class"to "Class template".

In 31.8 [string.streams] paragraph 1 change "template classes"to "class templates".

In the section heading of 31.8.2 [stringbuf] change "Template class"to "Class template".

In the section heading of 31.8.3 [istringstream] change "Templateclass" to "Class template".

In the section heading of 31.8.5 [stringstream] change "Templateclass" to "Class template".

In the section heading of 31.10.3 [filebuf] change "Template class"to "Class template".

In the section heading of 31.10.4 [ifstream] change "Templateclass" to "Class template".

In the section heading of 31.10.5 [ofstream] change "Templateclass" to "Class template".

In the section heading of 31.10.6 [fstream] change "Templateclass" to "Class template".

msg322 (view)
Date: 2022-02-18.07:47:23

Suggested Resolution:

The phrase should mean "a function generated from a template"(or might perhaps include explicit specializations).

msg157 (view)
Date: 2022-02-18.07:47:23

The phrase "template function" is sometimes used to refer to atemplate (e.g., in Clause 13 [temp] paragraph 8)and sometimes to refer to a function generated from a template (e.g.,12.3 [over.over] paragraph 4).

History
DateUserActionArgs
2022-02-18 07:47:23adminsetmessages: +msg6640
2003-04-25 00:00:00adminsetstatus: dr -> tc1
2000-11-18 00:00:00adminsetstatus: ready -> dr
2000-05-21 00:00:00adminsetmessages: +msg322
2000-05-21 00:00:00adminsetstatus: drafting -> ready
2000-02-23 00:00:00adminsetstatus: open -> drafting
1999-04-16 00:00:00admincreate

[8]ページ先頭

©2009-2026 Movatter.jp