
On Tue, Aug 19, 2008 at 3:59 PM, Daryle Walker <darylew@hotmail.com> wrote:
On Aug 19, 2008, at 2:59 AM, Zeljko Vrba wrote:
On Mon, Aug 18, 2008 at 07:05:10PM -0400, Daryle Walker wrote: [snip]
I think you guys are making this discussion way too complicated. This is not about designing graph interface, it's about using an integer identifier of type that's different from std::vector::size_type, and avoiding the warnings it leads to. I'd use something like: typedef int id_type; template <class T> class registry: private std::vector<T> { public: id_type add( T const & x ) { size_type i=size(); assert( i<=size_type(std::numeric_limits<id_type>::max()) ); push_back(x); return id_type(i); } //etc. etc. other operations in addition to "add", //instead of using "naked" std::vector. }; Emil Dotchevski Reverge Studios, Inc. http://www.revergestudios.com/reblog/index.php?n=ReCode