mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-06-06 06:12:46 -06:00
41 lines
3.1 KiB
C++
41 lines
3.1 KiB
C++
TITLE("std")
|
|
TOPIC_TEXT(
|
|
"[ $$0,0#00000000000000000000000000000000:Default][l288;i704;a17;O9;~~~.992; $$1,"
|
|
"0#10431211400427159095818037425705:param][a83;*R6 $$2,5#3131016247420302412518841"
|
|
"7583966:caption][b83;* $$3,5#07864147445237544204411237157677:title][b167;a42;C $"
|
|
"$4,6#40027414424643823182269349404212:item][b42;a42; $$5,5#4541300047534217475409"
|
|
"1244180557:text][l288;a17; $$6,6#27521748481378242620020725143825:desc][l321;t246"
|
|
";C@5;1 $$7,7#20902679421464641399138805415013:code][b2503; $$8,0#6514237545610002"
|
|
"3862071332075487:separator][*@(0.0.255) $$9,0#83433469410354161042741608181528:ba"
|
|
"se][t4167;C+117 $$10,0#37138531426314131251341829483380:class][l288;a17;*1 $$11,1"
|
|
"1#70004532496200323422659154056402:requirement][i416;b42;a42;O9;~~~.416; $$12,12#"
|
|
"10566046415157235020018451313112:tparam][b167;C $$13,13#9243045944346046191110808"
|
|
"0531343:item1][a42;C $$14,14#77422149456609303542238260500223:item2][*@2$(0.128.1"
|
|
"28) $$15,15#34511555403152284025741354420178:NewsDate][l321;*C$7 $$16,16#03451589"
|
|
"433145915344929335295360:result][l321;b83;a83;*C$7 $$17,17#0753155046352950537122"
|
|
"8428965313:result`-line][l160;t4167;*C+117 $$18,5#8860394944220582595880005322242"
|
|
"5:package`-title][{_}%EN-US [s2; NTL and standard library&][s5; While NTL is kind"
|
|
" of \"alien technology\" with respect to C`++ standard library, in fact it is lar"
|
|
"gely inter-operable with it.&][s3; Iterators&][s5; Each NTL container (with excep"
|
|
"tion of [* One]) provides iterator access. All iterators satisfy STL requirements"
|
|
" for random access iterators. This also means that most of STL (and STL based) al"
|
|
"gorithms can be used with NTL containers.&][s3; STL interfaces&][s5; NTL containe"
|
|
"rs provide also more STL-like interfaces. While most of STL interface are not bes"
|
|
"t suited for NTL design decisions and naming schemes, following methods and types"
|
|
" are implemented:&][s5;* value`_type, const`_iterator, const`_reference, iterator"
|
|
", reference, size`_type, difference`_type, begin, end, clear, swap, size, begin, "
|
|
"end, front, back, push`_back, pop`_back&][s3; std`::string[")
|
|
TOPIC_TEXT(
|
|
"* ]and std`::wstring&][s5; To be able to store `[w`]string into Vector flavor o"
|
|
"f containers, they must be made moveable. This is tricky. On the other hand, any "
|
|
"current implementation of `[w`]string known to us [/ is] moveable (even if only b"
|
|
"y a little margin in case of Dinkuware's small string optimization). That is why "
|
|
"for now we can afford to add template Moveable<std`::`[w`]string> and use `[w`]st"
|
|
"ring with Vector flavor of containers. Anyway, future releases will have to suppl"
|
|
"y their own String classes.&][s5; [@4 ntls.h ]header adds this support and also a"
|
|
"dds [* GetHashValue] routines for `[w`]string.&][s3; auto`_ptr&][s5; Funny part a"
|
|
"bout standard library and NTL relationship is that any known (and imaginable) imp"
|
|
"lementation of auto`_ptr is moveable - so you can store it into any flavor of con"
|
|
"tainers. All you need to do is to mark an instantiation with the Moveable templat"
|
|
"e. Even better is that you do not need it - because Array flavor will do the same"
|
|
" job more comfortably.")
|