Loaden, why, can you show an example?
struct some_class { int get(); }
smart_ptr<some_class> p(new some_class);
p-> <--- I want to get the list with some_class's members
p. <--- I want to get the list with smart_ptr's members
And p.get() is pretty valid and I don't want to be rewritten to p->get()!
Please don't make me fight my IDE and make this option configurable
The variable 'p', it is *not* a pointer!
So, If we enter "p.", “." can not be changed to "->", because it's not pointers.
We need to judge what the back of the variable "p".
If there is a dot ("."), we need show smart_ptr's members.
else, we need show some_class's members.