<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Grazing Diary - 牛背下的牧童 &#187; stdext</title>
	<atom:link href="http://blog.krzycube.net/tag/stdext/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.krzycube.net</link>
	<description>Vaquero can programming</description>
	<lastBuildDate>Wed, 23 Mar 2011 13:14:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Stdext] Allocators Graph</title>
		<link>http://blog.krzycube.net/stdext-allocators-graph/</link>
		<comments>http://blog.krzycube.net/stdext-allocators-graph/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 13:47:44 +0000</pubDate>
		<dc:creator>KrzyCube</dc:creator>
				<category><![CDATA[tech.]]></category>
		<category><![CDATA[allocs]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[cpp]]></category>
		<category><![CDATA[docs]]></category>
		<category><![CDATA[libs]]></category>
		<category><![CDATA[stdext]]></category>
		<category><![CDATA[winx]]></category>

		<guid isPermaLink="false">http://blog.krzycube.net/?p=91</guid>
		<description><![CDATA[从2006年到2009年初，虽然WINX的作者就在我身边，不过我一直对这东西兴趣缺缺。当然我的懒惰占了95%以上的原因，另外%1是因为一直在做后台，所以首先想到WINX，即便偶尔写个小工具我也会对比以后放弃ManyFunctionClass选择WTL。剩下那4%嘛，这东西缺乏文档一直让我耿耿于怀，而作者号称由于他没有漂亮的秘书mm，所以一直没空弄文档。WINX代码库并不仅仅是GUI界面库那么单调，其中还包含了一个彪悍的库stdext,不管写后台还是前端，这东西都是一等利器。(stdext中allocators相关的代码已经进入BOOST的Sandbox，因此名字空间里会看到BOOST相关的信息)
如今我跟它的作者再聚首一起干活，大量使用stdext，不过这东西还是没文档，注释也基本没有，虽说有活字典在身边，不过还是挺让我抑郁的。考虑到招漂亮一时半会儿的是实现不了了，只好自己来造文档，从号称最核心最有价值的地方开始，内存管理 &#8212; Allocators关系图.
图1：普通的SystemAlloc Policy版本， SystemAlloc本身是对标准分配器的封装，但在这里组合使用时，表现得更像是个Policy。
图2：BlockPool Policy版本，这里BlockPool实现上继承自SystemAlloc，由它表现为Policy。有了BlockPool的最大优势在于，allocators可以是scoped了。
更多的关于这些分配器的资料，可以参见作者blog里的内存管理系列。不过由于版本变化，那些文章实际上已经不与最新代码对应，只是表意。
WINX这东西缺乏文档一直让我耿耿于怀，而作者(@xushiwei)号称由于他没有漂亮的秘书mm，所以一直没空弄文档。不过WINX代码库并不仅仅是GUI界面库那么单调，其中还包含了一个彪悍的库stdext,不管写后台还是前端，这东西都是一等利器。(stdext中allocators相关的代码已经进入BOOST的Sandbox，因此名字空间里会看到BOOST相关的信息)
如今我跟作者再聚首一起干活，大量使用stdext，不过这东西还是没文档，注释也基本没有，虽说有活字典在身边，不过还是挺让我抑郁的。考虑到招漂亮秘书一时半会儿的是实现不了了，只好自己来造文档，从号称最核心最有价值的地方开始，内存管理 &#8212; Allocators关系图.
图1：普通的SystemAlloc Policy版本， SystemAlloc本身是对标准分配器的封装，但在这里组合使用时，表现得更像是个Policy。


图2：BlockPool Policy版本，BlockPool实现上是来自SystemAlloc的组合
typedef block_alloc&#60;NS_BOOST_MEMORY_POLICY::sys&#62; block_pool;
由它表现为下面其他组合出来的Allocators的Policy。有了BlockPool的最大优势在于，allocators可以是scoped了。



这两个图已经添加至Stdext的代码库中，可以在此目录下看到。更多的关于这些分配器的资料，可以参见作者blog里的内存管理系列。不过由于版本变化，那些文章实际上已经不与最新代码对应，只是表意。
]]></description>
			<content:encoded><![CDATA[<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">从2006年到2009年初，虽然WINX的作者就在我身边，不过我一直对这东西兴趣缺缺。当然我的懒惰占了95%以上的原因，另外%1是因为一直在做后台，所以首先想到WINX，即便偶尔写个小工具我也会对比以后放弃ManyFunctionClass选择WTL。剩下那4%嘛，这东西缺乏文档一直让我耿耿于怀，而作者号称由于他没有漂亮的秘书mm，所以一直没空弄文档。WINX代码库并不仅仅是GUI界面库那么单调，其中还包含了一个彪悍的库stdext,不管写后台还是前端，这东西都是一等利器。(stdext中allocators相关的代码已经进入BOOST的Sandbox，因此名字空间里会看到BOOST相关的信息)</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">如今我跟它的作者再聚首一起干活，大量使用stdext，不过这东西还是没文档，注释也基本没有，虽说有活字典在身边，不过还是挺让我抑郁的。考虑到招漂亮一时半会儿的是实现不了了，只好自己来造文档，从号称最核心最有价值的地方开始，内存管理 &#8212; Allocators关系图.</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">图1：普通的SystemAlloc Policy版本， SystemAlloc本身是对标准分配器的封装，但在这里组合使用时，表现得更像是个Policy。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">图2：BlockPool Policy版本，这里BlockPool实现上继承自SystemAlloc，由它表现为Policy。有了BlockPool的最大优势在于，allocators可以是scoped了。</div>
<div id="_mcePaste" style="position: absolute; left: -10000px; top: 0px; width: 1px; height: 1px; overflow-x: hidden; overflow-y: hidden;">更多的关于这些分配器的资料，可以参见作者blog里的内存管理系列。不过由于版本变化，那些文章实际上已经不与最新代码对应，只是表意。</div>
<p><a href="http://code.google.com/p/winx/" target="_blank"><strong>WINX</strong></a>这东西缺乏文档一直让我耿耿于怀，而作者(<a href="http://twitter.com/xushiwei">@xushiwei</a>)号称由于他没有漂亮的秘书mm，所以一直没空弄文档。不过WINX代码库并不仅仅是GUI界面库那么单调，其中还包含了一个彪悍的库<a href="http://winx.googlecode.com/svn/trunk/stdext/ " target="_blank"><strong>stdext</strong></a>,不管写后台还是前端，这东西都是一等利器。(stdext中allocators相关的<a href="http://winx.googlecode.com/svn/trunk/stdext/include/stdext/boost/Memory.h" target="_blank"><strong>代码</strong></a>已经进入BOOST的Sandbox，因此名字空间里会看到BOOST相关的信息)</p>
<p>如今我跟作者再聚首一起干活，大量使用stdext，不过这东西还是没文档，注释也基本没有，虽说有活字典在身边，不过还是挺让我抑郁的。考虑到招漂亮秘书一时半会儿的是实现不了了，只好自己来造文档，从号称最核心最有价值的地方开始，内存管理 &#8212; Allocators关系图.</p>
<p>图1：普通的SystemAlloc Policy版本， SystemAlloc本身是对标准分配器的封装，但在这里组合使用时，表现得更像是个Policy。</p>
<p style="text-align: center;"><a href="http://blog.krzycube.net/wp-content/uploads/2009/08/stdext_allocators_1.PNG"><img class="aligncenter size-full wp-image-92" title="Stdext Allocators Graph" src="http://blog.krzycube.net/wp-content/uploads/2009/08/stdext_allocators_1.PNG" alt="Stdext Allocators Graph" width="553" height="448" /></a></p>
<p style="text-align: center;">
<p>图2：BlockPool Policy版本，BlockPool实现上是来自SystemAlloc的组合</p>
<pre class="c++">typedef block_alloc&lt;NS_BOOST_MEMORY_POLICY::sys&gt; block_pool;</pre>
<p><span style="font-family: arial; line-height: normal; border-collapse: collapse; color: #333333;"><span style="border-collapse: separate; color: #000000; font-family: Georgia; line-height: 19px;">由它表现为下面其他组合出来的Allocators的Policy。有了BlockPool的最大优势在于，allocators可以是scoped了。</span></span></p>
<p style="text-align: center;"><span style="font-family: arial; line-height: normal; border-collapse: collapse; color: #333333;"><span style="border-collapse: separate; color: #000000; font-family: Georgia; line-height: 19px;"><a href="http://blog.krzycube.net/wp-content/uploads/2009/08/stdext_allocators_2.PNG"><img class="aligncenter size-full wp-image-101" title="Stdext Allocators Graph 2" src="http://blog.krzycube.net/wp-content/uploads/2009/08/stdext_allocators_2.PNG" alt="Stdext Allocators Graph 2" width="549" height="526" /></a><br />
</span></span></p>
<p style="text-align: center;">
<p>这两个图已经添加至Stdext的代码库中，可以在<strong><a href="http://winx.googlecode.com/svn/trunk/stdext/doc/memory/allocators-graph/" target="_blank">此目录下</a></strong>看到。更多的关于这些分配器的资料，可以参见<a href="http://blog.csdn.net/xushiweizh" target="_blank"><strong>作者blog</strong></a>里的<a href="http://blog.csdn.net/xushiweizh/category/265099.aspx" target="_blank"><strong>内存管理系列</strong></a>。不过由于版本变化，那些文章实际上已经不与最新代码对应，只是表意。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.krzycube.net/stdext-allocators-graph/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

