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:
syntheticpp 2005-08-27 13:48:08 +00:00
parent 16958f02fb
commit 8cf5c6ad87
2 changed files with 76 additions and 0 deletions

39
doc/flex/flex_string.html Executable file
View 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
View 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>