<?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"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: Smallest Possible Attribute System, Part 3</title>
	<atom:link href="http://meshula.net/wordpress/?feed=rss2&#038;p=184" rel="self" type="application/rss+xml" />
	<link>http://meshula.net/wordpress/?p=184</link>
	<description>Spaces Between</description>
	<lastBuildDate>Mon, 30 Aug 2010 08:23:36 -0400</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: admin</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-7398</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Wed, 25 Mar 2009 05:07:02 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-7398</guid>
		<description>Traceback: http://c0de517e.blogspot.com/2009/03/be-driven-by-data-but-dont-let-data.html</description>
		<content:encoded><![CDATA[<p>Traceback: <a href="http://c0de517e.blogspot.com/2009/03/be-driven-by-data-but-dont-let-data.html" rel="nofollow">http://c0de517e.blogspot.com/2009/03/be-driven-by-data-but-dont-let-data.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-7024</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Fri, 07 Nov 2008 06:50:42 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-7024</guid>
		<description>Traceback: http://aigamedev.com/programming-tips/research-object-attribute-systems

Most commercial games have their own object / attribute system. From one engine to another, these frameworks provides more or less features depending on the style of C++ that’s used. In general, the job of an object / attribute system is to provide a variety of features which help building the rest of the game code on top.</description>
		<content:encoded><![CDATA[<p>Traceback: <a href="http://aigamedev.com/programming-tips/research-object-attribute-systems" rel="nofollow">http://aigamedev.com/programming-tips/research-object-attribute-systems</a></p>
<p>Most commercial games have their own object / attribute system. From one engine to another, these frameworks provides more or less features depending on the style of C++ that’s used. In general, the job of an object / attribute system is to provide a variety of features which help building the rest of the game code on top.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6557</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Thu, 10 Jul 2008 06:22:03 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6557</guid>
		<description>I haven&#039;t tried prototyping anything yet, I&#039;m still thinking about how the idea might work. I haven&#039;t gotten away from the the need for a static type to sit beside every reflected type, so your template idea might be the way to do it. As it stands, SPAS already has a static class hidden in it, in this line -

		static Static ## c ## Binder static ## c ## binder;

I have to say that line of code cracks me up every time I look at it. It&#039;s like some kind of crazy punch line.</description>
		<content:encoded><![CDATA[<p>I haven&#8217;t tried prototyping anything yet, I&#8217;m still thinking about how the idea might work. I haven&#8217;t gotten away from the the need for a static type to sit beside every reflected type, so your template idea might be the way to do it. As it stands, SPAS already has a static class hidden in it, in this line -</p>
<p>		static Static ## c ## Binder static ## c ## binder;</p>
<p>I have to say that line of code cracks me up every time I look at it. It&#8217;s like some kind of crazy punch line.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rick</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6552</link>
		<dc:creator>rick</dc:creator>
		<pubDate>Wed, 09 Jul 2008 20:24:52 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6552</guid>
		<description>sorry for the double post, but the publishing script overzealously edited my entry, and ate some stuff out of my syntax...  In my example above, the SPAS::Binding class would be templated by the type of the class that it was bound to.  It would have a static Get() function.  

I guess this technically makes it a singleton. Well, darn - that&#039;s likely to start as many religious wars as using macros these days. 

The good news is that I&#039;m just being dumb today, apparently.  The name would resolve properly with the macro without any trouble.</description>
		<content:encoded><![CDATA[<p>sorry for the double post, but the publishing script overzealously edited my entry, and ate some stuff out of my syntax&#8230;  In my example above, the SPAS::Binding class would be templated by the type of the class that it was bound to.  It would have a static Get() function.  </p>
<p>I guess this technically makes it a singleton. Well, darn &#8211; that&#8217;s likely to start as many religious wars as using macros these days. </p>
<p>The good news is that I&#8217;m just being dumb today, apparently.  The name would resolve properly with the macro without any trouble.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rick</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6551</link>
		<dc:creator>rick</dc:creator>
		<pubDate>Wed, 09 Jul 2008 20:08:55 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6551</guid>
		<description>The macro idea is interesting... the main way I was thinking about it was by having static methods of a templated class - of course, this starts to move farther and farther away from the original point of the &quot;Smallest Possible&quot; Attribute System, and more like the template-metaprogramming approaches described elsewhere.  

My approach would look like SPAS::Binding::Get();  The macro would ideally look like GET_BINDING( c ) - wait, doesn&#039;t the macro approach break if you have to go through a namespace? For example GET_BINDING( SillyAtari2600Midware::A2600Vec ) ?</description>
		<content:encoded><![CDATA[<p>The macro idea is interesting&#8230; the main way I was thinking about it was by having static methods of a templated class &#8211; of course, this starts to move farther and farther away from the original point of the &#8220;Smallest Possible&#8221; Attribute System, and more like the template-metaprogramming approaches described elsewhere.  </p>
<p>My approach would look like SPAS::Binding::Get();  The macro would ideally look like GET_BINDING( c ) &#8211; wait, doesn&#8217;t the macro approach break if you have to go through a namespace? For example GET_BINDING( SillyAtari2600Midware::A2600Vec ) ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: admin</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6549</link>
		<dc:creator>admin</dc:creator>
		<pubDate>Wed, 09 Jul 2008 06:57:05 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6549</guid>
		<description>Thanks Rick. Your suggestion could work; have you thought about how you would fetch the bindings? Maybe a macro that concatenates a string together, like c ## Binding? You can see I was wrestling with how to introduce foreign objects to the system with std::string. Clearly what I did there is not practical. If I tried to wrap a math library like that, I would make myself unhappy pretty quickly! Your suggestion might mitigate that nicely.</description>
		<content:encoded><![CDATA[<p>Thanks Rick. Your suggestion could work; have you thought about how you would fetch the bindings? Maybe a macro that concatenates a string together, like c ## Binding? You can see I was wrestling with how to introduce foreign objects to the system with std::string. Clearly what I did there is not practical. If I tried to wrap a math library like that, I would make myself unhappy pretty quickly! Your suggestion might mitigate that nicely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: rick</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6543</link>
		<dc:creator>rick</dc:creator>
		<pubDate>Wed, 09 Jul 2008 01:07:10 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6543</guid>
		<description>Hi, Nick!

Love these articles - I&#039;ve been doing some research into this stuff myself.  I was wondering if it would be possible to have the macros create global variables instead of class static variables.  The main advantage of this would be the ability to register 3rd party or externally written classes to your attribute system (Like some middleware implemented resource class).  It seems like the syntactic changes would flavor the whole thing to feel more like a &quot;C emulating C++&quot; approach.  Just a thought.  Thanks for the great series!</description>
		<content:encoded><![CDATA[<p>Hi, Nick!</p>
<p>Love these articles &#8211; I&#8217;ve been doing some research into this stuff myself.  I was wondering if it would be possible to have the macros create global variables instead of class static variables.  The main advantage of this would be the ability to register 3rd party or externally written classes to your attribute system (Like some middleware implemented resource class).  It seems like the syntactic changes would flavor the whole thing to feel more like a &#8220;C emulating C++&#8221; approach.  Just a thought.  Thanks for the great series!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: msinilo</title>
		<link>http://meshula.net/wordpress/?p=184&#038;cpage=1#comment-6519</link>
		<dc:creator>msinilo</dc:creator>
		<pubDate>Mon, 07 Jul 2008 07:39:08 +0000</pubDate>
		<guid isPermaLink="false">http://meshula.net/wordpress/?p=184#comment-6519</guid>
		<description>There&#039;s also interesting article in GPG5 - &quot;Using Templates for Reflection in C++&quot; by Dominic Filion.</description>
		<content:encoded><![CDATA[<p>There&#8217;s also interesting article in GPG5 &#8211; &#8220;Using Templates for Reflection in C++&#8221; by Dominic Filion.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
