<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: C++ Boost Filesystem Library(Part III): Example Programs</title>
	<atom:link href="http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/feed/" rel="self" type="application/rss+xml" />
	<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/</link>
	<description>"The time has come...to talk of many [technologies]." --Lewis Carroll('The Walrus and the Carpenter')</description>
	<pubDate>Fri, 05 Dec 2008 03:43:23 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>By: tabrez</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136931</link>
		<dc:creator>tabrez</dc:creator>
		<pubDate>Sun, 06 Jan 2008 18:10:20 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136931</guid>
		<description>I have written a shorter procedure to get started with Boost libraries under Visual Studio .NET IDEs using Boost Consulting installer:
http://beans.seartipy.com/2007/08/20/installing-c-boost-on-microsoft-windows-for-visual-studio-net-20032005/

It does register the fact that Internet connection is required ;)

Getting STLPort and C++ Boost to work together had been a great pain in the neck for me when I had last tried it(both on windows and gnu/linux). Will give it a try again(it needs to be built separately from Boost by the way, using Microsoft compiler).</description>
		<content:encoded><![CDATA[<p>I have written a shorter procedure to get started with Boost libraries under Visual Studio .NET IDEs using Boost Consulting installer:<br />
<a href="http://beans.seartipy.com/2007/08/20/installing-c-boost-on-microsoft-windows-for-visual-studio-net-20032005/" rel="nofollow">http://beans.seartipy.com/2007/08/20/installing-c-boost-on-microsoft-windows-for-visual-studio-net-20032005/</a></p>
<p>It does register the fact that Internet connection is required ;)</p>
<p>Getting STLPort and C++ Boost to work together had been a great pain in the neck for me when I had last tried it(both on windows and gnu/linux). Will give it a try again(it needs to be built separately from Boost by the way, using Microsoft compiler).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: paul bates</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136930</link>
		<dc:creator>paul bates</dc:creator>
		<pubDate>Sat, 05 Jan 2008 17:45:00 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136930</guid>
		<description>I used the Boost Consulting installer.  It would have helped to know that it needs internet access to run (this is not mentioned in the Getting Started withBoost documentation).  However when I ran it on a machine with internet access it ran very smoothly and seemed to almost give me the libraries I need.  Unfortunately I am using STLport and the linker searches for libraries containing '-p-'.  These libraries were not downloaded and I can see no mention in the getting started documentation on how to build them.  They were not built by bjam -sTOOLS=msvc stage</description>
		<content:encoded><![CDATA[<p>I used the Boost Consulting installer.  It would have helped to know that it needs internet access to run (this is not mentioned in the Getting Started withBoost documentation).  However when I ran it on a machine with internet access it ran very smoothly and seemed to almost give me the libraries I need.  Unfortunately I am using STLport and the linker searches for libraries containing &#8216;-p-&#8217;.  These libraries were not downloaded and I can see no mention in the getting started documentation on how to build them.  They were not built by bjam -sTOOLS=msvc stage</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Simon Blackhart</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136913</link>
		<dc:creator>Simon Blackhart</dc:creator>
		<pubDate>Fri, 28 Dec 2007 03:22:17 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136913</guid>
		<description>Hey P.,

I had the same question and I found the answer here:

http://blog.codedread.com/archives/2007/07/12/getting-to-know-c-next-filesystem/

Hope it helps, it'll sure help me out, gotta love the net!

M</description>
		<content:encoded><![CDATA[<p>Hey P.,</p>
<p>I had the same question and I found the answer here:</p>
<p><a href="http://blog.codedread.com/archives/2007/07/12/getting-to-know-c-next-filesystem/" rel="nofollow">http://blog.codedread.com/archives/2007/07/12/getting-to-know-c-next-filesystem/</a></p>
<p>Hope it helps, it&#8217;ll sure help me out, gotta love the net!</p>
<p>M</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Petrus</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136614</link>
		<dc:creator>Petrus</dc:creator>
		<pubDate>Thu, 13 Dec 2007 00:53:48 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136614</guid>
		<description>Dear Tabrez:

I am a total and I mean, total, newbie to Boost.   It took me a major effort to get it running.  I have...finally.  Anyway, I need to traverse a large number of directories and their sub-directories.  I am looking (Win platform) for files ending in a given extension (...as it happens, .php).  Is there a quick way to match with a wild card or something similar so that I can get ALL files that are *.php?

Even a pointer to the correct documentation would be a big help.

Best,

P.</description>
		<content:encoded><![CDATA[<p>Dear Tabrez:</p>
<p>I am a total and I mean, total, newbie to Boost.   It took me a major effort to get it running.  I have&#8230;finally.  Anyway, I need to traverse a large number of directories and their sub-directories.  I am looking (Win platform) for files ending in a given extension (&#8230;as it happens, .php).  Is there a quick way to match with a wild card or something similar so that I can get ALL files that are *.php?</p>
<p>Even a pointer to the correct documentation would be a big help.</p>
<p>Best,</p>
<p>P.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: tabrez</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136106</link>
		<dc:creator>tabrez</dc:creator>
		<pubDate>Mon, 03 Dec 2007 14:51:02 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136106</guid>
		<description>If only the single-exit vs multiple-exit point style debates were so straight-forward. They both make sense in different contexts but in many cases, yes, it is just a matter of style. Couple of examples where single-exit style is undesirable:
&lt;ol&gt;
&lt;li&gt; SESE forces an additional nested block, and hence an additional level of indentation too, where preconditions/arguments need to be checked before executing the actual implementation. &lt;/li&gt;
&lt;li&gt; SESE sometimes makes creation of temporary objects more inefficient than SEME would - e.g. returning string literal(only constructor called) vs returning a string object(constructor and assignment operator called). &lt;/li&gt;
&lt;li&gt; SESE doesn't make sense when there are multiple implicit exit points anyway - e.g. code with exceptions. You can say that recommending SESE as a rule or a standard for languages that support exceptions is obsolete - or at least over-emphasising it is. &lt;/li&gt;
&lt;/ol&gt;
I mostly prefer SEME, but the reason with regard to code in this specific post, though, was only to save a couple of lines.</description>
		<content:encoded><![CDATA[<p>If only the single-exit vs multiple-exit point style debates were so straight-forward. They both make sense in different contexts but in many cases, yes, it is just a matter of style. Couple of examples where single-exit style is undesirable:</p>
<ol>
<li> SESE forces an additional nested block, and hence an additional level of indentation too, where preconditions/arguments need to be checked before executing the actual implementation. </li>
<li> SESE sometimes makes creation of temporary objects more inefficient than SEME would - e.g. returning string literal(only constructor called) vs returning a string object(constructor and assignment operator called). </li>
<li> SESE doesn&#8217;t make sense when there are multiple implicit exit points anyway - e.g. code with exceptions. You can say that recommending SESE as a rule or a standard for languages that support exceptions is obsolete - or at least over-emphasising it is. </li>
</ol>
<p>I mostly prefer SEME, but the reason with regard to code in this specific post, though, was only to save a couple of lines.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: VS</title>
		<link>http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136059</link>
		<dc:creator>VS</dc:creator>
		<pubDate>Sun, 02 Dec 2007 21:10:29 +0000</pubDate>
		<guid isPermaLink="false">http://beans.seartipy.com/2006/05/31/c-boost-filesystem-librarypart-iii-example-programs/#comment-136059</guid>
		<description>Overall I have found your post helpful regarding the use of the boost:filesystem classes. Just a comment/question on style: Why most everyone that has presented the directory iterators capability always uses a function with four return statements (I found it c-ish, confusing, and annoying). You can easily modify the code so as to leave only one exit point. For instance:  
&lt;pre&gt;&lt;code&gt;
bool find_file(const bfs::path &#38; dir_path, const std::string &#38; file_name, bfs::path &#38; pfound)
{
    bool successFlag(false);
    if( exists(dir_path) &#38;&#38; is_directory(dir_path) ) 
    {
        bfs::directory_iterator iter(dir_path), end_iter;
        for(; iter!= end_iter; ++iter)
        {
            if( bfs::is_directory(*iter) )
            {
                if( find_file(*iter, file_name, pfound) )
                     successFlag = true;
                     break;
            }
            else if( iter-&#62;leaf() == file_name )
            {
                 pfound = *iter;
                 successFlag = true;
                 break;
            }
        }
        return successFlag;
    }
}
&lt;/code&gt;&lt;/pre&gt;
I think this would work as well, and turns easier to follow. Trivial, but not so trivial when you write a couple thousand lines of code...</description>
		<content:encoded><![CDATA[<p>Overall I have found your post helpful regarding the use of the boost:filesystem classes. Just a comment/question on style: Why most everyone that has presented the directory iterators capability always uses a function with four return statements (I found it c-ish, confusing, and annoying). You can easily modify the code so as to leave only one exit point. For instance:  </p>
<pre><code>
bool find_file(const bfs::path &amp; dir_path, const std::string &amp; file_name, bfs::path &amp; pfound)
{
    bool successFlag(false);
    if( exists(dir_path) &amp;&amp; is_directory(dir_path) )
    {
        bfs::directory_iterator iter(dir_path), end_iter;
        for(; iter!= end_iter; ++iter)
        {
            if( bfs::is_directory(*iter) )
            {
                if( find_file(*iter, file_name, pfound) )
                     successFlag = true;
                     break;
            }
            else if( iter-&gt;leaf() == file_name )
            {
                 pfound = *iter;
                 successFlag = true;
                 break;
            }
        }
        return successFlag;
    }
}
</code></pre>
<p>I think this would work as well, and turns easier to follow. Trivial, but not so trivial when you write a couple thousand lines of code&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
