Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Class Modeler and STL std::



The class modeler seems to be confused by "std::string variable". It parses the member name as string and the type as unknown.

Is there a way around this? I know that "using namespace std" fixes the problem, but I am writing utility classes that will be used by other members of my team and they may not be using STL. I am using STL in my classes, but I don't want to force them to use STL.

The class modeler, like many other symbolically-driven parts of Xcode (the Project Symbols smartgroup, the Class Browser, Find Definition, and command-doubleclick navigation) is driven off of the project index, and the C++ project indexer does not capture or store namespace information at this time. Items that are distinguished only by namespace may become confused.

The issue is NOT poor support for namespaces in various areas.

The issue is the parser for the modeler is plain wrong out when it comes across a scope resolution operator. It does NOT traverse to the last scope resolution operator and then uses the result as type and the next token as the name.
E.g:
A::B::C::D::string foo;
is scope: A::B::C::D type: string name: foo and not scope: undefined type: unknown name : A


A "using namespace std;" directive in a HEADER file is not a workaround but simply poor style that renders the whole concept of namespaces for a whole codebase useless. An IDE requiring developers to do this does not help them produce good code but plain enforces poor style. (I hope at least in the Java camp there is support for packages.. )

Regards,
	Tom_E
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/xcode-users/email@hidden

This email sent to email@hidden


Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.