<?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>சுதர்சன் சாந்தியப்பன் &#187; stlport</title>
	<atom:link href="http://sudarsun.in/blog/tag/stlport/feed/" rel="self" type="application/rss+xml" />
	<link>http://sudarsun.in/blog</link>
	<description>Dream of the Impossible™</description>
	<lastBuildDate>Sun, 05 Feb 2012 12:03:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>no include path in which to search for limits.h</title>
		<link>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/</link>
		<comments>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 05:28:53 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[compilation]]></category>
		<category><![CDATA[g++]]></category>
		<category><![CDATA[include_next]]></category>
		<category><![CDATA[limits.h]]></category>
		<category><![CDATA[stlport]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/</guid>
		<description><![CDATA[Why compiling STLport 5.1.5 using g++-4.4, one might get an error like the following:- Building CXX object libs/bgt/CMakeFiles/bgt.dir/error.oIn file included from /opt/projects/stl/stlport/limits.h:27,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /usr/include/c++/4.4/../4.4.5/climits:43,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/climits:27,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_algobase.h:42,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_alloc.h:47,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_string.h:23,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ios_base.h:34,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ios.h:23,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/stl/_ostream.h:24,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/stl/stlport/ostream:31,&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160; from /opt/projects/dev/libs/bgt/error.cpp:18:/usr/include/../include/limits.h:125: error: no include path in which to search for limits.hIn file included from [...]]]></description>
			<content:encoded><![CDATA[<p>Why compiling STLport 5.1.5 using g++-4.4, one might get an error like the following:-<br />
<blockquote>Building CXX object libs/bgt/CMakeFiles/bgt.dir/error.o<br />In file included from /opt/projects/stl/stlport/limits.h:27,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /usr/include/c++/4.4/../4.4.5/climits:43,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/climits:27,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_algobase.h:42,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_alloc.h:47,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_string.h:23,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ios_base.h:34,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ios.h:23,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.h:24,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/ostream:31,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/dev/libs/bgt/error.cpp:18:<br /><b><font color="red">/usr/include/../include/limits.h:125: error: no include path in which to search for limits.h</font></b><br />In file included from /opt/projects/stl/stlport/stl/_num_put.c:26,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_num_put.h:183,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.c:26,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/stl/_ostream.h:380,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/stl/stlport/ostream:31,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; from /opt/projects/dev/libs/bgt/error.cpp:18:<br />/opt/projects/stl/stlport/stl/_limits.h:148: error: ‘CHAR_BIT’ was not declared in this scope<br />/opt/projects/stl/stlport/stl/_limits.h:253: error: ‘CHAR_MIN’ was not declared in this scope<br />..</p></blockquote>
<p>Looks like it is a bug in the STLport package itself as per the <a href="http://stlport.sourceforge.net/News.shtml" target="_blank">Release notes</a> of STLport.&nbsp; After updating to STLport-5.2.1, the issue got fixed automatically.</p>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/06/no-include-path-in-which-to-search-for-limits-h/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MongoDB C++ Wrapper</title>
		<link>http://sudarsun.in/blog/2011/04/mongodb-c-wrapper/</link>
		<comments>http://sudarsun.in/blog/2011/04/mongodb-c-wrapper/#comments</comments>
		<pubDate>Sun, 03 Apr 2011 17:09:50 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[driver]]></category>
		<category><![CDATA[mongo]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[stlport]]></category>
		<category><![CDATA[wrapper]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/04/mongodb-c-wrapper/</guid>
		<description><![CDATA[MongoDB has drivers in almost all language.&#160; Being a C++ programmer,&#160; although there is a C++ driver, I am stinged to see that the driver cannot be used with STLport.&#160; The reason being, C++ MongoDB driver is compiled with Boost, which does not go well with STLport.&#160; I could link my application in Release mode, [...]]]></description>
			<content:encoded><![CDATA[<p>MongoDB has drivers in almost all language.&nbsp; Being a C++ programmer,&nbsp; although there is a C++ driver, I am stinged to see that the driver cannot be used with STLport.&nbsp; The reason being, C++ MongoDB driver is compiled with Boost, which does not go well with STLport.&nbsp; I could link my application in Release mode, but debug mode would not work.&nbsp; Also, Boost says that STLport is not uniform across platforms, they don&#8217;t support STLport for linux platforms. </p>
<p>So, I am left out with only one option; that is to create a C++ driver myself.&nbsp; I found the C driver working excellently (although there are design glitches!).&nbsp; I am currently developing a C++ wrapper around the C driver to support fundamental operations on Mongo from an application compiled with STLport in C++ and cross platform.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=62165902-a154-8a8f-a4b8-9fa69da9afa1" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/04/mongodb-c-wrapper/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Application using MongoDB &amp; PHP</title>
		<link>http://sudarsun.in/blog/2011/03/first-application-using-mongodb-php/</link>
		<comments>http://sudarsun.in/blog/2011/03/first-application-using-mongodb-php/#comments</comments>
		<pubDate>Sun, 06 Mar 2011 17:25:38 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[boost]]></category>
		<category><![CDATA[bson]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[iiit hyd]]></category>
		<category><![CDATA[jpeg]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[mongo]]></category>
		<category><![CDATA[mongodb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[slideshow]]></category>
		<category><![CDATA[stlport]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2011/03/first-application-using-mongodb-php/</guid>
		<description><![CDATA[I have been eyeing on MongoDB since I had visited IIIT Hyderabad for campus placements in Jan 2011.&#160; The name MongoDB was introduced to me by the candidates whom I had to interview.&#160; Infact all the candidates who took the interview had worked on MongoDB for solving some problem during their graduate studies.&#160;&#160; MongoDB, the [...]]]></description>
			<content:encoded><![CDATA[<div align="justify">I have been eyeing on MongoDB since I had visited IIIT Hyderabad for campus placements in Jan 2011.&nbsp; The name MongoDB was introduced to me by the candidates whom I had to interview.&nbsp; Infact all the candidates who took the interview had worked on MongoDB for solving some problem during their graduate studies.&nbsp;&nbsp; MongoDB, the name comes from Hu<b>Mongo</b>us <b>D</b>ata<b>B</b>ase, which is a well instituted name and the database indeed is meant for storing tonnes of data organized in JSON format.&nbsp;&nbsp; Being a C++ coder, I had less experience with JSON and have always avoided that as it was primarily used in the Web application development.&nbsp; After learning about Mongo in the official wiki, I got thrilled by the simplicity of JSON format and the advantage of it over the conventional XML format and infact decided to use JSON for a project that my team is working on.
</div>
<div align="justify">MongoDB is written in C++, which increased my love towards the database.&nbsp; I wanted to use MongoDB for my product development data store needs, but was stuck with the dependencies of Mongo&#8217;s C++ driver, where it wanted Boost libraries to be linked.&nbsp; The pathetic problem is boost does not compile with the debug version of STLport.&nbsp; My product is built on STLport, so I have to link MongoDB with Boost/STLport, which works well in release mode, but not in DEBUG mode.&nbsp; How Sad!
</div>
<div align="justify">My desperation grew as I wanted to have some useful application developed using MongoDB.&nbsp; PHP came for my rescue. The PHP driver that was available with MongoDB is a cute baby.&nbsp;&nbsp; I works like moon walk, when copy pasted on the PHP&#8217;s extension folder.&nbsp;&nbsp; The documentation of PHP/MongoDB is well written and has lot of examples.&nbsp; Also, there is awesome support available in the internet for all the doubts that I got while building my Brower based Photo SlideShow web application.&nbsp; All, I did was, I pushed all my JPEG files into MongoDB and wrote simple PHP scripts to fetch the files based on the file name.&nbsp; When the file name was not mentioned, my script would pick a file randomly.&nbsp; I have presented the code below:
</div>
<pre># view.php

# get the file id
$id = "";
if ( array_key_exists( "id", $_REQUEST ) ) {
&nbsp;&nbsp;&nbsp; $id = $_REQUEST["id"];
}

# open database connectivity
$conn = new Mongo();
$store = $conn-&gt;store;
$image = $store-&gt;image;

# fetch the file as per the id or just randomly
if ( $id != "" ) {
&nbsp;&nbsp;&nbsp; $query = array ( 'id' =&gt; $id );
&nbsp;&nbsp;&nbsp; $cursor = $image-&gt;find( $query );
}
else {
    # set the html headers for refreshing the page every 3 sec.
    header( 'Refresh: 3;' );

    # Random fetch logic, get the count first.
&nbsp;&nbsp;&nbsp; $count = $image-&gt;find()-&gt;count();
&nbsp;&nbsp;&nbsp; $rand = rand( 1, $count-1 );  # generate a random number.
    # skip several records of the cursor based on the random number
&nbsp;&nbsp;&nbsp; $cursor = $image-&gt;find()-&gt;skip( $rand )-&gt;limit(1);
}

# write output stream as JPEG content
header( 'Content-Type: image/jpeg' );
foreach ( $cursor as $obj ) {
    # decode the data, and just write on the output stream.
&nbsp;&nbsp;&nbsp; echo base64_decode($obj["data"]);
}

# import.php

$dir = $_REQUEST["dir"];
if ( $dir == "" ) {
    echo "&lt;h2&gt;Import directory cannot be empty&lt;/h2&gt;";
    exit;
}

$conn = new Mongo();
$db = $conn-&gt;store;
$image = $db-&gt;image;

echo "&lt;ol&gt;";
$dhandle = opendir( $dir );
while ( ($file = readdir( $dhandle )) != false ) {
    $path = $dir."/".$file;
    if ( is_dir( $path ) ) {
        continue;
    }

    $path = str_replace( '\\', '/', $path );
    $handle = fopen( $path, "rb" );
    $data = fread( $handle, filesize( $path ) );
    fclose( $handle );
    if ( $data == false ) {
	continue;
    }

    $key = preg_replace( "/[[:punct:]]/", "_", $file );
    echo "&lt;li&gt;Importing $path (Key: $key)...";
    try {
        $image-&gt;insert( array( "id" =&gt; $key,
               "data" =&gt; base64_encode( $data ) ), true );
        echo "Success";
    }
    catch ( MongoCursorException $e ) {
        echo "Exception: $e";
    }

    echo "&lt;/li&gt;";
    ob_flush();
}

echo "&lt;/ol&gt;";
</pre>
<p>Within minutes, I was able to have a browser based slide show application, which protected all my image files in the Database without being exposed out in the folder system.</p>
<p>I am enjoying every bit of Mongo, and hope to develop several application using that in the future.</p>
<div class="zemanta-pixie"><img class="zemanta-pixie-img" alt="" src="http://img.zemanta.com/pixy.gif?x-id=914af7d4-5f56-8fc6-bd0b-fefdfe96d1c0" /></div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2011/03/first-application-using-mongodb-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ACE 5.6.7 does not compile with STLport in Win32 environment</title>
		<link>http://sudarsun.in/blog/2010/06/ace-5-6-7-does-not-compile-with-stlport-in-win32-environment/</link>
		<comments>http://sudarsun.in/blog/2010/06/ace-5-6-7-does-not-compile-with-stlport-in-win32-environment/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 11:56:24 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[ace]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[checked_array_iterator]]></category>
		<category><![CDATA[checked_iterator]]></category>
		<category><![CDATA[iterator]]></category>
		<category><![CDATA[stlport]]></category>
		<category><![CDATA[tao]]></category>
		<category><![CDATA[vc8]]></category>
		<category><![CDATA[vc9]]></category>
		<category><![CDATA[win32]]></category>
		<category><![CDATA[_STLP_ITERATOR]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/2010/06/ace-5-6-7-does-not-compile-with-stlport-in-win32-environment/</guid>
		<description><![CDATA[ACE 5.6.7 does not compile with STLport in Windows environment (I used vc9 on Windows Server 2008) because of the following header in ACE (ACE_wrappers/ace/checked_iterator.h), which wrongly assumes the existence of stdext::checked_array_iterator in the iterator header.  A PRF is already submitted in the ACE mailing list (http://www.archivum.info/comp.soft-sys.ace/2008-07/00026/%5Bace-users%5D-Checked_iterator.h-problem-with-STLport..html) # if defined (_MSC_VER) &#38;&#38; (_MSC_FULL_VER &#62;= 140050000) [...]]]></description>
			<content:encoded><![CDATA[<p>ACE 5.6.7 does not compile with STLport in Windows environment (I used vc9 on Windows Server 2008) because of the following header in ACE (<em>ACE_wrappers/ace/checked_iterator.h</em>), which wrongly assumes the existence of <span style="font-family: Courier New;">stdext::checked_array_iterator </span>in the <strong><em>iterator</em></strong> header.  A PRF is already submitted in the ACE mailing list (<a href="http://www.archivum.info/comp.soft-sys.ace/2008-07/00026/%5Bace-users%5D-Checked_iterator.h-problem-with-STLport..html" target="_blank">http://www.archivum.info/comp.soft-sys.ace/2008-07/00026/%5Bace-users%5D-Checked_iterator.h-problem-with-STLport..html</a>)</p>
<blockquote><p><span style="font-family: Courier New;"># if defined (_MSC_VER) &amp;&amp; (_MSC_FULL_VER &gt;= 140050000)<br />
// Checked iterators are currently only supported in MSVC++ 8 or better.<br />
#  include &lt;iterator&gt;<br />
# endif  /* _MSC_VER &gt;= 1400 */</span></p>
<p><span style="font-family: Courier New;"># if defined (_MSC_VER) &amp;&amp; (_MSC_FULL_VER &gt;= 140050000)<br />
template &lt;typename PTR&gt;<br />
</span><span style="font-family: Courier New;">stdext::checked_array_iterator&lt;PTR&gt;<br />
ACE_make_checked_array_iterator (PTR buf, size_t len)<br />
{<br />
return stdext::checked_array_iterator  (buf, len);<br />
}<br />
# else<br />
template &lt;typename PTR&gt;<br />
PTR<br />
ACE_make_checked_array_iterator (PTR buf, size_t /* len */)<br />
{<br />
// Checked iterators are unsupported.  Just return the pointer to<br />
// the buffer itself.<br />
return buf;<br />
}<br />
# endif  /* _MSC_VER &gt;= 1400 */</span></p>
<p><span style="font-family: Courier New;">#endif  /* ACE_CHECKED_ITERATOR_H */</span></p></blockquote>
<p>I need to develop a solution to it.  The easiest way to find a solution is to use some macro explicitly set by the STLport header, which is not set by any other STL libraries.  I chose to use the <strong>_STLP_ITERATOR</strong> macro set by &#8220;<em>stl/stlport/iterator</em>&#8221; header.</p>
<blockquote><p><span style="font-family: Courier New;">#ifndef _STLP_ITERATOR<br />
#define _STLP_ITERATOR</span></p>
<p><span style="font-family: Courier New;"># ifndef _STLP_OUTERMOST_HEADER_ID<br />
#  define _STLP_OUTERMOST_HEADER_ID 0&#215;38<br />
#  include &lt;stl/_prolog.h&gt;<br />
# endif</span></p>
<p><span style="font-family: Courier New;"># ifdef _STLP_PRAGMA_ONCE<br />
#  pragma once<br />
# endif</span></p>
<p><span style="font-family: Courier New;">#if defined (_STLP_IMPORT_VENDOR_STD)<br />
# include _STLP_NATIVE_HEADER(iterator)<br />
#endif /* IMPORT */</span></p>
<p><span style="font-family: Courier New;"># ifndef _STLP_INTERNAL_ITERATOR_H<br />
#  include &lt;stl/_iterator.h&gt;<br />
# endif</span></p>
<p><span style="font-family: Courier New;"># ifndef _STLP_INTERNAL_STREAM_ITERATOR_H<br />
#  include &lt;stl/_stream_iterator.h&gt;<br />
# endif</span></p>
<p><span style="font-family: Courier New;"># if (_STLP_OUTERMOST_HEADER_ID == 0&#215;38)<br />
#  include &lt;stl/_epilog.h&gt;<br />
#  undef _STLP_OUTERMOST_HEADER_ID<br />
# endif</span></p>
<p><span style="font-family: Courier New;">#endif /* _STLP_ITERATOR */<br />
</span></p></blockquote>
<p>The solution is the following, where I have added the <em><strong>!defined(_STLP_ITERATOR)</strong></em> condition along with the check for Visual Studio compiler version.</p>
<blockquote><p><span style="font-family: Courier New;"># if <strong>!defined(_STLP_ITERATOR) &amp;&amp;</strong> defined (_MSC_VER) &amp;&amp; (_MSC_FULL_VER &gt;= 140050000)</span><br />
<span style="font-family: Courier New;">// Checked iterators are currently only supported in MSVC++ 8 or better.</span><br />
<span style="font-family: Courier New;">#  include &lt;iterator&gt; </span><br />
<span style="font-family: Courier New;"># endif  /* _MSC_VER &gt;= 1400 */</span></p>
<p><span style="font-family: Courier New;"># if defined (_MSC_VER) &amp;&amp; (_MSC_FULL_VER &gt;= 140050000)</span><br />
<span style="font-family: Courier New;">template &lt;typename PTR&gt;<br />
</span><span style="font-family: Courier New;">stdext::checked_array_iterator </span><span style="font-family: Courier New;">&lt;PTR&gt;</span><br />
<span style="font-family: Courier New;">ACE_make_checked_array_iterator (PTR buf, size_t len)</span><br />
<span style="font-family: Courier New;">{</span><br />
<span style="font-family: Courier New;"> return stdext::checked_array_iterator  (buf, len);</span><br />
<span style="font-family: Courier New;">}</span><br />
<span style="font-family: Courier New;"># else</span><br />
<span style="font-family: Courier New;">template &lt;typename PTR&gt;<br />
</span><span style="font-family: Courier New;">PTR</span><br />
<span style="font-family: Courier New;">ACE_make_checked_array_iterator (PTR buf, size_t /* len */)</span><br />
<span style="font-family: Courier New;">{</span><br />
<span style="font-family: Courier New;"> // Checked iterators are unsupported. Just return the pointer to</span><br />
<span style="font-family: Courier New;"> // the buffer itself.</span><br />
<span style="font-family: Courier New;"> return buf;</span><br />
<span style="font-family: Courier New;">}</span><br />
<span style="font-family: Courier New;">#<br />
endif  /* _MSC_VER &gt;= 1400 */</span></p>
<p><span style="font-family: Courier New;">#endif<br />
/* ACE_CHECKED_ITERATOR_H */</span></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2010/06/ace-5-6-7-does-not-compile-with-stlport-in-win32-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>STLportன் Allocatorஐ மாற்றுவது எப்படி</title>
		<link>http://sudarsun.in/blog/2008/08/stlport%e0%ae%a9%e0%af%8d-allocator%e0%ae%90-%e0%ae%ae%e0%ae%be%e0%ae%b1%e0%af%8d%e0%ae%b1%e0%af%81%e0%ae%b5%e0%ae%a4%e0%af%81-%e0%ae%8e%e0%ae%aa%e0%af%8d%e0%ae%aa%e0%ae%9f%e0%ae%bf/</link>
		<comments>http://sudarsun.in/blog/2008/08/stlport%e0%ae%a9%e0%af%8d-allocator%e0%ae%90-%e0%ae%ae%e0%ae%be%e0%ae%b1%e0%af%8d%e0%ae%b1%e0%af%81%e0%ae%b5%e0%ae%a4%e0%af%81-%e0%ae%8e%e0%ae%aa%e0%af%8d%e0%ae%aa%e0%ae%9f%e0%ae%bf/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 06:07:57 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[allocators]]></category>
		<category><![CDATA[malloc_alloc]]></category>
		<category><![CDATA[new_alloc]]></category>
		<category><![CDATA[pthread_alloc]]></category>
		<category><![CDATA[stlport]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/?p=29</guid>
		<description><![CDATA[STLPort containerகள் Allocatorகளை பயனர்கள் மாற்றியமைக்கும்படி உருவாக்கப்பட்டுள்ளன. இவை முதன்மையாக Node Allocatorகளை கொண்டுள்ளன. ஆனால், பயனர்களின் விருப்பம்போல, மற்ற Allocatorகளை (முறையே: malloc_alloc, new_alloc, pthread_alloc) உபயோகப்படுத்திக்கொள்ளலாம். மேலும், பயனர்களின் Allocatorகளை (user-defined allocators) உருவாக்கி உபயோகிக்கலாம். malloc_alloc, pthread_alloc, new_alloc போன்றவைகளை உபயோகிக்க நீங்கள் STLலை configure செய்ய வேண்டும். அதற்கு stlport/stl/configs/user_config.h (STLport 5.1.5) என்ற கோப்பை கீழ்கண்டவாறு வரியை சேர்க வேண்டும். 1. malloc_alloc: #define _STLP_USE_MALLOC2. new_alloc: #define _STLP_USE_NEWALLOC3. [...]]]></description>
			<content:encoded><![CDATA[<p>STLPort containerகள் Allocatorகளை பயனர்கள் மாற்றியமைக்கும்படி உருவாக்கப்பட்டுள்ளன.  இவை முதன்மையாக Node Allocatorகளை கொண்டுள்ளன.  ஆனால், பயனர்களின் விருப்பம்போல, மற்ற Allocatorகளை (முறையே: malloc_alloc, new_alloc, pthread_alloc) உபயோகப்படுத்திக்கொள்ளலாம்.  மேலும், பயனர்களின் Allocatorகளை (user-defined allocators) உருவாக்கி உபயோகிக்கலாம்.</p>
<p>malloc_alloc, pthread_alloc, new_alloc போன்றவைகளை உபயோகிக்க நீங்கள் STLலை configure செய்ய வேண்டும். அதற்கு stlport/stl/configs/user_config.h (STLport 5.1.5) என்ற கோப்பை கீழ்கண்டவாறு வரியை சேர்க வேண்டும். </p>
<p>1. malloc_alloc:  #define _STLP_USE_MALLOC<br />2. new_alloc:  #define _STLP_USE_NEWALLOC<br />3. pthread_alloc: #define _STLP_USE_PERTHREAD_ALLOC</p>
<p>உங்களுக்கு debugging விருப்பம் வேண்டுமானால், கீழ்கண்ட வரியையும் சேர்க்கவேண்டும்.</p>
<p>#define _STLP_DEBUG_ALLOC</p>
<p>மேற்கொண்டு அறிந்துக்கொள்ள <a target="_blank" href="http://www.sgi.com/tech/stl/alloc.html">SGI STL Allocator</a><a target="_blank" href="http://www.sgi.com/tech/stl/alloc.html"> Design</a> பக்கத்தை பார்க்கவும்.</p>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2008/08/stlport%e0%ae%a9%e0%af%8d-allocator%e0%ae%90-%e0%ae%ae%e0%ae%be%e0%ae%b1%e0%af%8d%e0%ae%b1%e0%af%81%e0%ae%b5%e0%ae%a4%e0%af%81-%e0%ae%8e%e0%ae%aa%e0%af%8d%e0%ae%aa%e0%ae%9f%e0%ae%bf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing GUI Applications in C++ with wxWidgets</title>
		<link>http://sudarsun.in/blog/2008/07/developing-gui-applications-in-c-with-wxwidgets/</link>
		<comments>http://sudarsun.in/blog/2008/07/developing-gui-applications-in-c-with-wxwidgets/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 17:27:22 +0000</pubDate>
		<dc:creator>sudarsun</dc:creator>
				<category><![CDATA[KnowHow]]></category>
		<category><![CDATA[KnowWhat]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[fedora]]></category>
		<category><![CDATA[kdevelop]]></category>
		<category><![CDATA[mingw]]></category>
		<category><![CDATA[oss]]></category>
		<category><![CDATA[stlport]]></category>
		<category><![CDATA[visual studio]]></category>
		<category><![CDATA[vs6]]></category>
		<category><![CDATA[wx-devcpp]]></category>
		<category><![CDATA[wxwidgets]]></category>

		<guid isPermaLink="false">http://sudarsun.in/blog/?p=16</guid>
		<description><![CDATA[Who said C++ cannot be used for Rapid Application Development (RAD) ? There are many GUI frameworks for C++, which are even portable across Unix, Windows and others. One such framework is wxWidgets. wxWidgets lets developers create applications for Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more using one codebase. It can be [...]]]></description>
			<content:encoded><![CDATA[<div class="content-wrapper">
<p>Who said C++ cannot be used for Rapid<br />
Application Development (RAD) ? There are many GUI frameworks for C++,<br />
which are even portable across Unix, Windows and others. One such<br />
framework is <a href="http://www.wxwidgets.org/">wxWidgets</a>. </p>
<p>wxWidgets lets developers create applications for <strong>Win32, Mac OS X, GTK+, X11, Motif, WinCE, and more </strong>using one codebase. It can be used from languages such as <strong>C++, Python, Perl, and C#/.NET</strong>. Unlike other cross-platform toolkits, wxWidgets applications <strong><em>look and feel native</em></strong>. This is because wxWidgets uses the platform&#8217;s own native controls rather than emulating them. It&#8217;s also<strong> <em>extensive, free, open-source, and mature</em></strong><em>.</em> </p>
<p>wxWidgets<br />
is not just a GUI framework. It provides native support for threads,<br />
sockets, database connectivity, synchronization and what else. Qt also<br />
provides such support, but I like wxWidgets for its simplicity is<br />
programming use.</p>
<p>There is a RAD development tool called <a href="http://wxdsgn.sourceforge.net/">wx-devcpp</a><br />
hosted at sourceforge, which helps faster creation of Frames, Controls,<br />
Dialogs and more. wx-devcpp has support for Visual Studio 2005<br />
compilation as well along with MinGW compilation in Windows. I use<br />
wx-devcpp for forms creations and import the generated source to VS6.0<br />
in Windows and KDevelop in my Fedora 7. The surprise is, the code<br />
compiles with very minimal changes from VS6.0 to KDevelop environment.<br />
I have used wxWidgets with STLport 5.1 for my development purposes.</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://sudarsun.in/blog/2008/07/developing-gui-applications-in-c-with-wxwidgets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
<!-- This Quick Cache file was built for (  sudarsun.in/blog/tag/stlport/feed/ ) in 0.37228 seconds, on Feb 7th, 2012 at 5:42 pm UTC. -->
<!-- This Quick Cache file will automatically expire ( and be re-built automatically ) on Feb 7th, 2012 at 6:42 pm UTC -->
