I'm flip-flopping between naming conventions for typedef'ing the boost::shared_ptr template. For example:
typedef boost::shared_ptr<Foo> FooPtr;
Before settling on a convention, I'd like to see what others use. What is your convention?
EDIT:
To those nesting the typedef inside Foo, doesn't it bother you that Foo is now "aware" of how it will be passed around? It seems to break encapsulation. How about this:
class Foo
{
public:
typedef std::vector<Foo> Vector
};
You wouldn't do this now, would you? :-)