adding doc
git-svn-id: svn://svn.code.sf.net/p/loki-lib/code/trunk@224 7ec92016-0320-0410-acc4-a06ded1c099a
This commit is contained in:
parent
16958f02fb
commit
8cf5c6ad87
2 changed files with 76 additions and 0 deletions
39
doc/flex/flex_string.html
Executable file
39
doc/flex/flex_string.html
Executable file
|
@ -0,0 +1,39 @@
|
|||
<h1 align="center">
|
||||
flex_string
|
||||
</h1>
|
||||
|
||||
<p>This code accompanies the article
|
||||
"Type-Safe Formatting" in C/C++ Users Journal, July 2005.
|
||||
It implements a simple <tt>printf</tt> emulation framework,
|
||||
which is typesafe at the price of a slightly modified invocation syntax.</p>
|
||||
|
||||
<p><tt>flex_string</tt> is a drop-in replacement for the standard string
|
||||
(<tt>std::basic_string</tt>, better known by its <tt>typedef</tt>ed name,
|
||||
<tt>std::string</tt>.
|
||||
If you think that reimplementing a likely fine-tuned component of your
|
||||
standard library is not a very rewarding endeavor, think again.
|
||||
<tt>flex_string</tt>
|
||||
has a policy-based design allowing unparalleled control over its
|
||||
behavior and optimizations, and also allows you to define new
|
||||
implementations in only a few dozens of lines of code. If you're
|
||||
looking for controllable performance and predictible behavior with
|
||||
multiple threads, then <tt>flex_string</tt> might be of interest to you.</p>
|
||||
|
||||
<p>To find more about <tt>flex_string</tt>, you may want to read
|
||||
<a href="http://erdani.org/publications/cuj-06-2001.html" target="_top"><i>
|
||||
"A Policy-Based <code>basic_string</code> Implementation,"</i></a>
|
||||
C/C++ Users Journal, June 2001. </p>
|
||||
|
||||
<p>The downloadable code consists of the <tt>flex_string</tt> header and
|
||||
a test suite that compares its behavior against <tt>std::string</tt>.
|
||||
Though no performance comparison suite is available at this time,
|
||||
Harmut Kaizer reported that simply dropping in <tt>flex_string</tt>
|
||||
in the Wave Boost Preprocessor improved its speed by 5-10%,
|
||||
depending on input.</p>
|
||||
|
||||
<p>Justin Matthews contributed with
|
||||
<a href="http://erdani.org/code/flex_string_hash.h">flex_string_hash.h</a>,
|
||||
an add-on for <tt>flex_string</tt>
|
||||
that allows using it with hash maps. Justin's code supports (and
|
||||
automatically recognizes) two implementations: STLPort and Microsoft
|
||||
Visual C++ 7.1.</p>
|
37
doc/yasli/yasli.html
Executable file
37
doc/yasli/yasli.html
Executable file
|
@ -0,0 +1,37 @@
|
|||
<h1 align="center">
|
||||
YASLI
|
||||
</h1>
|
||||
|
||||
<p>The legendary YASLI stands for "Yet Another Standard Library
|
||||
Implementation", and is meant to be an STL implementation that exploits
|
||||
type introspection and guarded platform assumptions at its best to
|
||||
yield lean and mean code.</p>
|
||||
|
||||
<p>By definition, YASLI is the best
|
||||
implementation all around; however, it is also a non-existent one,
|
||||
because it was created in Yasland and we don't have full access to
|
||||
Yaslander technology yet. YASLI is often dreamed of by Andrei, but
|
||||
seldom worked on because Andrei's current main interest (and time sink)
|
||||
is his research. <\p>
|
||||
|
||||
<p>This first component of the legendary YASLI is now available together
|
||||
with a simple test suite that compares <tt>yasli::vector</tt>'s
|
||||
behavior against <tt>std::vector</tt>.
|
||||
|
||||
(Many thanks to Casper Edward Aethelric Cody Clemence, who submitted a
|
||||
largely fixed version on January 13th, 2005.)</p>
|
||||
<p> As of now, the implementation illustrates the definition and use
|
||||
of a moving protocol, and has a number of known inefficiencies and a
|
||||
yet-unknown number of bugs. You are welcome to improve the former
|
||||
and report the latter.</p>
|
||||
|
||||
<p>Some bugs in MSVC 7.1 prevent the data moving protocol to function properly for certain data types, such
|
||||
as <tt>std::complex</tt>. That code has been commented out as of now.</p>
|
||||
|
||||
<p>Unfortunately, the article that describes <tt>yasli::vector</tt>'s design and implementation ("<tt>yasli::vector</tt>
|
||||
Is On The Move") is not available online; it is published in C/C++
|
||||
Users Journal, June 2004. It will be available on this site 3 months
|
||||
after publication.</p>
|
||||
|
||||
|
||||
</p></body></html>
|
Loading…
Add table
Reference in a new issue