STL Quick Reference 1.29.pdf
(
241 KB
)
Pobierz
STLQuickReference–Version1.29
[A4]
April20,2007
1
1Notations
•Thesymbol
const
for
const
.
•Thesymbol
x
forfunctionreturnedvalue.
•Templateclassparametersleadbyoutlined
character.Forexample:
T
,
K
ey,
C
ompare.
Interpretedin
template
definitioncontext.
•Sometimes
class
,
typename
dropped.
•Templateclassparametersdropped,
thusCsometimesusedinsteadofCh
T
i.
•“Seeexample”by
+
,itsoutputby'
à
.
S:iteratorS::
erase
(S::constiteratorfirst,
x
posterased S::constiterator last);
voidS::
pushback
(
const
S::valuetype&x);
voidS::
popback
();
S::referenceS::
front
();
S::constreferenceS::
front
()
const
;
S::referenceS::
back
();
S::constreferenceS::
back
()
const
;
2.4Vector
#include<vector>
void//movex’s[xFirst,xLast)beforepos
list::
splice
(iterator pos,
listh
T
i&x,
iterator xFirst,
iterator xLast);
+
7.2
voidlist::
remove
(
const
T
&value);
voidlist::
removeif
(
P
redicatepred);
//aftercall:8
this
iteratorp,p6=(p+1)
voidlist::
unique
(); //removerepeats
void//asbeforebut,¬binPred(p,(p+1))
list::
unique
(
B
inaryPredicatebinPred);
//Assumingboth
this
andxsorted
voidlist::
merge
(listh
T
i&x);
//mergeandassumesortedbycmp
voidlist::
merge
(listh
T
i&x,
C
omparecmp);
voidlist::
reverse
();
voidlist::
sort
();
voidlist::
sort
(
C
omparecmp);
2.7SortedAssociative
HereAanyof
{set,multiset,map,multimap}.
2.2.2Members&Operators
X::X();
X::X(
const
X&);
X::
~
X();
X&X::
operator
=
(
const
X&);
X::iterator X::
begin
();
X::constiterator X::
begin
()
const
;
X::iterator X::
end
();
X::constiterator X::
end
()
const
;
X::reverseiterator X::
rbegin
();
X::constreverseiteratorX::
rbegin
()
const
;
X::reverseiterator X::
rend
();
X::constreverseiteratorX::
rend
()
const
;
X::sizetypeX::
size
()
const
;
X::sizetypeX::
maxsize
()
const
;
bool X::
empty
()
const
;
void X::
swap
(X&x);
voidX::
clear
();
2Containers
templatehclass
T
,
class
A
lloc=allocatori
class
vector
;
Seealso2.2and2.3.
sizetypevector::
capacity
()
const
;
voidvector::
reserve
(sizetypen);
vector::reference
vector::
operator[]
(sizetypei);
vector::constreference
vector::
operator[]
(sizetypei)
const
;
+
7.1.
2.5Deque
#include<deque>
2.1Pair
#include<utility>
templatehclass
T
1,class
T
2i
struct
pair
{
T
1
first
;
T
2
second
;
pair(){}
pair(
const
T
1&a,
const
T
2&b):
first(a),second(b){}};
2.2.3ComparisonOperators
Let, Xv,w.Xmayalsobepair(2.1).
v
==
w v
!=
w
v
<
w v
>
w
v
<=
w v
>=
w
Alldonelexicographicallyand
xbool
.
2.7.1Types
ForA=[multi]set,columnsarethesame
A::
keytype
A::
valuetype
A::
keycompare
A::
valuecompare
2.7.2Constructors
A::A(
C
omparec=
C
ompare())
A::A(A::constiteratorfirst,
A::constiterator last,
C
ompare c=
C
ompare());
2.7.3Members
A::keycompare A::
keycomp
()
const
;
A::valuecompareA::
valuecomp
()
const
;
A::iterator
A::
insert
(A::iterator hint,
const
A::valuetype&val);
voidA::
insert
(A::iteratorfirst,
A::iterator last);
A::sizetyp
e
//#erased
A::
erase
(
const
A::keytype&k);
voidA::
erase
(A::iteratorp);
voidA::
erase
(A::iteratorfirst,
A::iterator last);
2.1.1Types
pair::
firsttype
pair::
secondtype
templatehclass
T
,
class
A
lloc=allocatori
class
deque
;
Hasallofvectorfunctionality(see2.4).
voiddeque::
pushfront
(
const
T
&x);
voiddeque::
popfront
();
2.6List
#include<list>
templatehclass
T
,
class
A
lloc=allocatori
2.3SequenceContainers
Sisanyof{vector,deque,list}
2.1.2Functions&Operators
Seealso2.2.3.
pairh
T
1,
T
2i
makepair
(
const
T
1&,
const
T
2&);
2.3.1Constructors
S::S(S::sizetype n,
const
S::valuetype&t);
S::S(S::constiteratorfirst,
S::constiterator last);
+
7.2,7.3
2.2Containers—Common
HereXisanyof
{vector,deque,list,
set,multiset,map,multimap}
2.3.2Members
S::iterator//insertedcopy
S::
insert
(S::iterator before,
const
S::valuetype&val);
S::iterator//insertedcopy
S::
insert
(S::iterator before,
S::sizetype nVal,
const
S::valuetype&val);
S::iterator//insertedcopy
S::
insert
(S::iterator before,
S::constiteratorfirst,
S::constiterator last);
S:iteratorS::
erase
(S::iteratorposition);
2.2.1Types
class
list
;
Seealso2.2and2.3.
voidlist::
popfront
();
voidlist::
pushfront
(
const
T
&x);
void//moveallx(
&x
6=
this
)beforepos
list::
splice
(iteratorpos,listh
T
i&x);
+
7.2
void//movex’sxElemPosbeforepos
list::
splice
(iterator pos,
listh
T
i&x,
iterator xElemPos);
+
7.2
X::
valuetype
X::
reference
X::
constreference
X::
iterator
X::
constiterator
X::
reverseiterator
X::
constreverseiterator
X::
dierencetype
X::
sizetype
Iteratorsreferencevaluetype(See6).
A::sizetype
A::
count
(
const
A::keytype&k)
const
;
A::iteratorA::
find
(
const
A::keytype&k)
const
;
d
http://www.medini.org/stl/stl.html
)
yotam.medini@gmail.com
YotamMedinic
1998-2007
2
STLQuickReference–Version1.29
[A4]
April20,2007
2.10.2Members
A::iterator
A::
lowerbound
(
const
A::keytype&k)
const
;
A::iterator
A::
upperbound
(
const
A::keytype&k)
const
;
pairhA::iterator,A::iteratori//see4.3.1
A::
equalrange
(
const
A::keytype&k)
const
;
multimap::constiterator
multimap
::
lo
werbound
(
const
multimap::keytype&k)
const
;
multimap::constiterator
multimap
::
up
perbound
(
const
multimap::keytype&k)
const
;
pairhmultimap::constiterator,
multimap::constiteratori
multimap::
equalrange
(
const
multimap::keytype&k)
const
;
void
queue::
push
(
const
C
ontainer::valuetype&x);
voidqueue::
pop
();
const
map
::
map
(
const
C
ompare&cmp=
C
ompare());
pairhmap::iterator,booli//
bool
=ifnew
map::
insert
(
const
map::valuetype&x);
T
&map:
operator[]
(
const
map::keytype&);
map::constiterator
map
::
lo
werbound
(
const
map::keytype&k)
const
;
map::constiterator
map
::
up
perbound
(
const
map::keytype&k)
const
;
pairhmap::constiterator,map::constiteratori
map::
equalrange
(
const
map::keytype&k)
const
;
Example
C
ontainer::
val
uetype&
queue::
front
()
const
;
C
ontainer::valuetype&queue::
front
();
const
C
ontainer::
val
uetype&
queue::
back
()
const
;
C
ontainer::valuetype&queue::
back
();
ComparisionOperators
bool
operator
==
(
const
queue&q0,
const
queue&q1);
bool
operator
<
(
const
queue&q0,
const
queue&q1);
2.8Set
#include<set>
templatehclass
K
ey,
class
C
ompare=lessh
K
eyi,
class
A
lloc=allocatori
3ContainerAdaptors
3.1StackAdaptor
#include<stack>
class
set
;
Seealso2.2and2.7.
set
::
set
(
const
C
ompare&cmp=
C
ompare());
pairhset::iterator,booli//
bool
=ifnew
set::
insert
(
const
set::valuetype&x);
3.3PriorityQueue
#include<queue>
templatehclass
T
,
class
C
ontainer=dequeh
T
ii
class
stack
;
Defaultconstructor.
C
ontainermusthave
back()
,
pushback()
,
popback()
.Sovector,
listanddequecanbeused.
boolstack::
empty
()
const
;
C
ontainer::sizetypestack::
size
()
const
;
void
stack::
push
(
const
C
ontainer::valuetype&x);
voidstack::
pop
();
const
typedefmap<string,int>MSI;
MSI nam2num;
nam2num.insert(MSI::value_type("one",1));
nam2num.insert(MSI::value_type("two",2));
nam2num.insert(MSI::value_type("three",3));
intn3=nam2num["one"]+nam2num["two"];
cout<<n3<<"called";
for(MSI::const_iteratori=nam2num.begin();
i!=nam2num.end(); ++i)
if((*i).second==n3)
{cout<<(*i).first<<endl;}
'
à
3calledthree
2.11Multimap
templatehclass
T
,
class
C
ontainer=vectorh
T
i,
class
C
ompare=lessh
T
ii
class
priorityqueue
;
C
ontainermustproviderandomaccessiterator
andhave
empty()
,
size()
,
front()
,
pushback()
and
popback()
.Sovectoranddequecanbe
used.
Mostlyimplementedasheap.
2.9Multiset
#include<multiset.h>
templatehclass
K
ey,
class
C
ompare=lessh
K
eyi,
class
A
lloc=allocatori
class
multiset
;
Seealso2.2and2.7.
multiset
::
multiset
(
const
C
ontainer::valuetype&
stack::
top
()
const
;
void
C
ontainer::valuetype&stack::
top
();
ComparisionOperators
bool
operator
==
(
const
stack&s0,
const
stack&s1);
bool
operator
<
(
const
stack&s0,
const
stack&s1);
3.3.1Constructors
explicit
priorityqueue::priorityqueue
(
const
C
ompare&cmp=
C
ompare());
multiset
::
multiset
(
I
nputIterator first,
I
nputIterator last,
const
#include<multimap.h>
C
ompare&comp=
C
ompare());
priorityqueue::priorityqueue
(
I
nputIterator first,
I
nputIterator last,
const
templatehclass
K
ey,class
T
,
class
C
ompare=lessh
K
eyi,
class
A
lloc=allocatori
class
multimap
;
C
ompare&cmp=
C
ompare());
multiset::iterator//insertedcopy
multiset::
insert
(
const
multiset::valuetype&x);
C
ompare&comp=
C
ompare());
3.3.2Members
boolpriorityqueue::
empty
()
const
;
C
ontainer::sizetype
priorityqueue::
size
()
const
;
const
3.2QueueAdaptor
#include<queue>
Seealso2.2and2.7.
2.10Map
#include<map>
2.11.1Types
multimap::
valuetype
//pairh
const
K
ey,
T
i
templatehclass
T
,
class
C
ontainer=dequeh
T
ii
class
queue
;
Defaultconstructor.
C
ontainermusthave
empty()
,
size()
,
back()
,
front()
,
pushback()
and
popfront()
.Solistanddequecanbe
used.
boolqueue::
empty
()
const
;
C
ontainer::sizetypequeue::
size
()
const
;
templatehclass
K
ey,class
T
,
class
C
ompare=lessh
K
eyi,
class
A
lloc=allocatori
class
map
;
Seealso2.2and2.7.
C
ontainer::valuetype&
priorityqueue::
top
()
const
;
C
ontainer::valuetype&priorityqueue::
top
();
voidpriorityqueue::
push
(
const
2.11.2Members
multimap
::
multimap
(
const
C
ompare&cmp=
C
ompare());
multimap
::
multimap
(
I
nputIterator first,
I
nputIterator last,
const
C
ontainer::valuetype&x);
voidpriorityqueue::
pop
();
Nocomparisionoperators.
2.10.1Types
map::
valuetype
//pairh
const
K
ey,
T
i
C
ompare&cmp=
C
ompare());
d
http://www.medini.org/stl/stl.html
)
yotam.medini@gmail.com
YotamMedinic
1998-2007
STLQuickReference–Version1.29
[A4]
April20,2007
3
4Algorithms
O
utputIterator//8s
k
i
2S
k
r
i
=bop(s
1
i
,s
2
i
)
transform
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
O
utputIterator result,
B
inaryOperationbop);
void
replace
(
F
orwardIterator first,
F
orwardIterator last,
const
F
orwardIterator//asabovebutusingpred
removeif
(
F
orwardIterator first,
F
orwardIterator last,
P
redicate pred);
O
utputIterator//
x
pastlastcopied
removecopy
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
const
//
x
bi-pointingtofirstbinPred-mismatch
pairh
I
nputIterator1,
I
nputIterator2i
mismatch
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
B
inaryPredicate binPred);
#include<algorithm>
STLalgorithmsuseiteratortypeparameters.
Theirnamessuggesttheircategory(See6.1).
Forabbreviation,theclause—
template
h
class
F
oo
,...
i
isdropped.The
outlinedleadingcharactercansuggestthe
template
context.
Note:Whenlookingattwosequences:
S
1
=[first
1
,last
1
)andS
2
=[first
2
,?)or
S
2
=[?,last
2
)—callerisresponsiblethat
functionwillnotoverflowS
2
.
bool
equal
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2);
T
& value);
O
utputIterator//asabovebutusingpred
removecopyif
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
P
redicate pred);
Allvariantsof
unique
templatefunctions
removeconsecutive(binPred-)duplicates.Thus
usefullaftersort(See4.3).
F
orwardIterator//[
x
,last)getsrepetitions
unique
(
F
orwardIterator first,
F
orwardIterator last);
F
orwardIterator//asabovebutusingbinPred
unique
(
F
orwardIterator first,
F
orwardIterator last,
B
inaryPredicate binPred);
O
utputIterator//
x
pastlastcopied
uniquecopy
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
const
T
& oldVal,
T
& newVal);
const
bool
equal
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
B
inaryPredicate binPred);
// [first
2
,last
2
)v[first
1
,last
1
)
F
orwardIterator1
search
(
F
orwardIterator1first1,
F
orwardIterator1 last1,
F
orwardIterator2first2,
F
orwardIterator2 last2);
// [first
2
,last
2
)v
binPred
[first
1
,last
1
)
F
orwardIterator1
search
(
F
orwardIterator1first1,
F
orwardIterator1 last1,
F
orwardIterator2first2,
F
orwardIterator2 last2,
B
inaryPredicate binPred);
4.2MutatingAlgorithms
O
utputIterator//
x
first
2
+(last
1
−first
1
)
copy
(
I
nputIterator first1,
I
nputIterator last1,
O
utputIterator first2);
//
x
last
2
−(last
1
−first
1
)
B
idirectionalIterator2
copybackward
(
B
idirectionalIterator1first1,
B
idirectionalIterator1 last1,
B
idirectionalIterator2 last2);
void
swap
(
T
&x,
T
&y);
F
orwardIterator2//
x
first
2
+#[first
1
,last
1
)
swapranges
(
F
orwardIterator1first1,
F
orwardIterator1 last1,
F
orwardIterator2first2);
O
utputIterator//
x
result+(last
1
−first
1
)
transform
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
U
naryOperationop);
+
7.6
void
replaceif
(
F
orwardIterator first,
F
orwardIterator last,
P
redicate& pred,
const
4.1QueryAlgorithms
F
unction//fnotchanging[first,last)
foreach
(
I
nputIterator first,
I
nputIterator last,
F
unction f);
+
7.4
I
nputIterator//firstisoi
==
lastor
*i==val
find
(
I
nputIterator first,
I
nputIterator last,
const
T
& newVal);
O
utputIterator//
x
result
2
+#[first,last)
replacecopy
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
const
T
& oldVal,
T
& newVal);
O
utputIterator//asabovebutusingpred
replacecopyif
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
P
redicate& pred,
const
const
T
val);
+
7.2
I
nputIterator//firstisoi
==
lastor
pred(i)
findif
(
I
nputIterator first,
I
nputIterator last,
P
redicate pred);
+
7.7
F
orwardIterator//firstduplicate
adjacentfind
(
F
orwardIterator first,
F
orwardIterator last);
F
orwardIterator//firstbinPred-duplicate
adjacentfind
(
F
orwardIterator first,
F
orwardIterator last,
B
inaryPredicate binPred);
void//n=#equalval
count
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& newVal);
void
fill
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& result);
O
utputIterator//asabovebutusingbinPred
uniquecopy
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
B
inaryPredicate binPred);
T
& value);
void
filln
(
F
orwardIterator first,
S
ize n,
const
void
reverse
(
B
idirectionalIterator first,
B
idirectionalIterator last);
O
utputIterator//
x
pastlastcopied
reversecopy
(
B
idirectionalIterator first,
B
idirectionalIterator last,
O
utputIterator result);
void//withfirstmovedtomiddle
rotate
(
F
orwardIterator first,
F
orwardIteratormiddle,
F
orwardIterator last);
O
utputIterator//firsttomiddleposition
rotatecopy
(
F
orwardIterator first,
F
orwardIteratormiddle,
F
orwardIterator last,
O
utputIterator result);
T
& value);
void//bycallinggen()
generate
(
F
orwardIterator first,
F
orwardIterator last,
G
enerator gen);
T
val,
S
ize& n);
void//n=#satisfyingpred
countif
(
F
orwardIterator first,
F
orwardIterator last,
P
redicate pred,
S
ize& n);
//
x
bi-pointingtofirst
!=
pairh
I
nputIterator1,
I
nputIterator2i
mismatch
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2);
void//ncallstogen()
generaten
(
F
orwardIterator first,
S
ize n,
G
enerator gen);
Allvariantsof
remove
and
unique
return
iteratortonewendorpastlastcopied.
F
orwardIterator//[
x
,last)isallvalue
remove
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value);
d
http://www.medini.org/stl/stl.html
)
yotam.medini@gmail.com
YotamMedinic
1998-2007
4
STLQuickReference–Version1.29
[A4]
April20,2007
R
andomAccessIterator
partialsortcopy
(
I
nputIterator first,
I
nputIterator last,
R
andomAccessIterator resultFirst,
R
andomAccessIterator resultLast,
C
ompare comp);
Letn=position−first,
nthelement
partitions[first,last)into:L=[first,position),
e
n
,R=[position+1,last)suchthat
8l2L,8r2Rl6>e
n
r.
void
nthelement
(
R
andomAccessIterator first,
R
andomAccessIterator position,
R
andomAccessIterator last);
void//asabovebutusingcomp(e
i
,e
j
)
nthelement
(
R
andomAccessIterator first,
R
andomAccessIterator position,
R
andomAccessIterator last,
C
ompare
void
randomshue
(
R
andomAccessIterator first,
R
andomAccessIterator result);
void//rand()returns
double
in[0,1)
randomshue
(
R
andomAccessIterator first,
R
andomAccessIterator last,
R
andomGenerator rand);
B
idirectionalIterator//beginwith
true
partition
(
B
idirectionalIterator first,
B
idirectionalIterator last,
P
redicate pred);
B
idirectionalIterator//beginwith
true
stablepartition
(
B
idirectionalIterator first,
B
idirectionalIterator last,
P
redicate pred);
4.3SortandApplication
void
sort
(
R
andomAccessIterator first,
R
andomAccessIterator last);
void
sort
(
R
andomAccessIterator first,
R
andomAccessIterator last,
+
7.3
C
ompare
bool //S
1
S
2
includes
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2,
I
nputIterator2 last2);
bool //asabovebutusingcomp
includes
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2,
I
nputIterator2 last2,
C
ompare comp);
O
utputIterator//S
1
[S
2
,
x
pastend
setunion
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result);
O
utputIterator//asabovebutusingcomp
setunion
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result,
C
ompare comp);
O
utputIterator//S
1
\S
2
,
x
pastend
setintersection
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result);
O
utputIterator//asabovebutusingcomp
setintersection
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result,
C
ompare comp);
O
utputIterator//S
1
\S
2
,
x
pastend
setdierence
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result);
O
utputIterator//asabovebutusingcomp
setdierence
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result,
C
ompare comp);
equalrangereturnsiteratorspairthat
lowerboundandupperboundreturn.
pairh
F
orwardIterator,
F
orwardIteratori
equalrange
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value);
pairh
F
orwardIterator,
F
orwardIteratori
equalrange
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value,
C
ompare comp);
+
7.5
4.3.2Merge
AssumingS
1
=[first
1
,last
1
)and
S
2
=[first
2
,last
2
)aresorted,stablymergethem
into[result,result+N)whereN=|S
1
|+|S
2
|.
O
utputIterator
merge
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result);
O
utputIterator
merge
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result,
C
ompare comp);
void//ranges[first,middle)[middle,last)
inplacemerge
(//into[first,last)
B
idirectionalIterator first,
B
idirectionalIteratormiddle,
B
idirectionalIterator last);
void//asabovebutusingcomp
inplacemerge
(
B
idirectionalIterator first,
B
idirectionalIteratormiddle,
B
idirectionalIterator last,
C
ompare comp);
comp);
4.3.1BinarySearch
bool
binarysearch
(
F
orwardIterator first,
F
orwardIterator last,
const
comp);
T
& value);
void
stablesort
(
R
andomAccessIterator first,
R
andomAccessIterator last);
bool
binarysearch
(
F
orwardIterator first,
F
orwardIterator last,
const
void
stablesort
(
R
andomAccessIterator first,
R
andomAccessIterator last,
C
ompare comp);
void //[first,middle)sorted,
partialsort
(//[middle,last)eq-greater
R
andomAccessIterator first,
R
andomAccessIteratormiddle,
R
andomAccessIterator last);
void//asabovebutusingcomp(e
i
,e
j
)
partialsort
(
R
andomAccessIterator first,
R
andomAccessIteratormiddle,
R
andomAccessIterator last,
C
ompare comp);
R
andomAccessIterator//postlastsorted
partialsortcopy
(
I
nputIterator first,
I
nputIterator last,
R
andomAccessIterator resultFirst,
R
andomAccessIterator resultLast);
T
& value,
C
ompare comp);
F
orwardIterator
lowerbound
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value);
ForwardIterator
lowerbound
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value,
C
ompare comp);
F
orwardIterator
upperbound
(
F
orwardIterator first,
F
orwardIterator last,
const
4.3.3FunctionsonSets
T
& value);
Canworkonsortedassocicativecontainers(see
2.7).Formultisettheinterpretationof—
union,intersectionanddierenceisby:
maximum,minimumandsubstractionof
occurrencesrespectably.
LetS
i
=[first
i
,last
i
)fori=1,2.
ForwardIterator
upperbound
(
F
orwardIterator first,
F
orwardIterator last,
const
T
& value,
C
ompare comp);
d
http://www.medini.org/stl/stl.html
)
yotam.medini@gmail.com
YotamMedinic
1998-2007
STLQuickReference–Version1.29
[A4]
April20,2007
5
O
utputIterator//S
1
M
S
2
,
x
pastend
setsymmetricdierence
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result);
O
utputIterator//asabovebutusingcomp
setsymmetricdierence
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
I
nputIterator2 last2,
O
utputIterator result,
C
ompare comp);
4.3.4Heap
O
utputIterator//r
k
=s
k
−s
k
−
1
fork>0
adjacentdierence
( //r
0
=s
0
I
nputIterator first,
I
nputIterator last,
O
utputIterator result);
4.3.5MinandMax
4.3.7LexicographicOrder
T
&
min
(
const
T
&x0,
const
T
&x1);
bool
lexicographicalcompare
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2,
I
nputIterator2 last2);
bool
lexicographicalcompare
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2,
I
nputIterator2 last2,
C
ompare comp);
const
T
&
min
(
const
T
& x0,
const
const
T
& x1,
C
ompare comp);
O
utputIterator //asabovebutusingbinop
adjacentdierence
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
B
inaryOperationbinop);
T
&
max
(
const
T
&x0,
const
T
&x1);
const
T
&
max
(
const
T
& x0,
const
const
T
& x1,
C
ompare comp);
F
orwardIterator
minelement
(
F
orwardIterator first,
F
orwardIterator last);
5FunctionObjects
4.4Computational
#include<functional>
F
orwardIterator
minelement
(
F
orwardIterator first,
F
orwardIterator last,
C
ompare comp);
#include<numeric>
T
//
P
[
first
,
last
)
+
7.6
accumulate
(
I
nputIterator first,
I
nputIterator last,
T
initVal);
T
//asabovebutusingbinop
accumulate
(
I
nputIterator first,
I
nputIterator last,
T
initVal,
B
inaryOperationbinop);
T
//
P
i
e
1
i
×e
2
i
fore
k
i
2S
k
,(k=1,2)
innerproduct
(
I
nputIterator1first1,
I
nputIterator1 last1,
I
nputIterator2first2,
T
initVal);
T
//Similar,using
P
(
sum
)
and×
mult
innerproduct
(
I
nputIterator1 first1,
I
nputIterator1 last1,
I
nputIterator2 first2,
T
initVal,
B
inaryOperation sum,
B
inaryOperationmult);
O
utputIterator //r
k
=
P
first
+k
void//(last−1)ispushed
pushheap
(
R
andomAccessIterator first,
R
andomAccessIterator last);
void//asabovebutusingcomp
pushheap
(
R
andomAccessIterator first,
R
andomAccessIterator last,
C
ompare
templatehclass
A
rg,class
R
esulti
struct
unaryfunction
{
typedef
A
rg
argumenttype
;
typedef
R
esult
resulttype
;}
F
orwardIterator
maxelement
(
F
orwardIterator first,
F
orwardIterator last);
Derivedunaryobjects:
struct
negate
h
T
i;
struct
logicalnot
h
T
i;
+
7.6
comp);
F
orwardIterator
maxelement
(
F
orwardIterator first,
F
orwardIterator last,
C
ompare comp);
void//firstispopped
popheap
(
R
andomAccessIterator first,
R
andomAccessIterator last);
void//asabovebutusingcomp
popheap
(
R
andomAccessIterator first,
R
andomAccessIterator last,
C
ompare
templatehclass
A
rg1,class
A
rg2,
class
R
esulti
struct
binaryfunction
{
typedef
A
rg1
firstargumenttype
;
typedef
A
rg2
secondargumenttype
;
typedef
R
esult
resulttype
;}
4.3.6Permutations
Togetallpermutations,startwithascending
sequenceendwithdescending.
bool //
x
iavailable
nextpermutation
(
B
idirectionalIterator first,
B
idirectionalIterator last);
bool //asabovebutusingcomp
nextpermutation
(
B
idirectionalIterator first,
B
idirectionalIterator last,
C
ompare comp);
bool //
x
iavailable
prevpermutation
(
B
idirectionalIterator first,
B
idirectionalIterator last);
bool //asabovebutusingcomp
prevpermutation
(
B
idirectionalIterator first,
B
idirectionalIterator last,
C
ompare comp);
comp);
void//[first,last)arbitraryordered
makeheap
(
R
andomAccessIterator first,
R
andomAccessIterator last);
void//asabovebutusingcomp
makeheap
(
R
andomAccessIterator first,
R
andomAccessIterator last,
C
ompare
Followingderivedtemplateobjectsaccepttwo
operands.Resultobviousbythename.
struct
plus
h
T
i;
struct
minus
h
T
i;
struct
multiplies
h
T
i;
struct
divides
h
T
i;
struct
modulus
h
T
i;
struct
equalto
h
T
i;
struct
notequalto
h
T
i;
struct
greater
h
T
i;
struct
less
h
T
i;
struct
greaterequal
h
T
i;
struct
lessequal
h
T
i;
struct
logicaland
h
T
i;
struct
logicalor
h
T
i;
comp);
void//sortthe[first,last)heap
sortheap
(
R
andomAccessIterator first,
R
andomAccessIterator last);
void//asabovebutusingcomp
sortheap
(
R
andomAccessIterator first,
R
andomAccessIterator last,
C
ompare
i=
first
e
i
partialsum
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result);
O
utputIterator //asabovebutusingbinop
partialsum
(
I
nputIterator first,
I
nputIterator last,
O
utputIterator result,
B
inaryOperationbinop);
comp);
d
http://www.medini.org/stl/stl.html
)
yotam.medini@gmail.com
YotamMedinic
1998-2007
Plik z chomika:
musli_com
Inne pliki z tego folderu:
John.Wiley.and.Sons.XML.in.60.Minutes.a.Day.eBook-DDU.pdf
(96357 KB)
Encyclopedia of Optimization.pdf
(55204 KB)
Addison.Wesley.Inside.Windows.Server.2003.eBook-LiB.chm
(14869 KB)
Addison.Wesley.The.Ultimate Windows Server 2003 System Administrator's Guide.chm
(15876 KB)
Addison.Wesley.Essential.XML Quick Reference.pdf
(8869 KB)
Inne foldery tego chomika:
1_Digital Signal Processing
Compute
rom-nes
Tandy TRS-80
Zgłoś jeśli
naruszono regulamin