BTW: Does it work properly with Unicode characters? I see your code uses std::string, it would be good if we could safely use it with Unicode filenames. Or does Boost.Filesystem use UTF-8 as Unicode encoding instead of UTF-16, so std::string is OK in this case?
Thanks for clarifying this.
The path class supports multiple character types. So you can replace these:
What I'd like to see is a stand-alone VC++ product like you had back in the 90s. (I think it was called VC++ Pro?) I never understood why you guys deviated from that - is it really fair that I have to pay for C#, VB and whatever other .Net language is in VS Pro when I have no use for them? It's like being forced to buy the Godfather boxset when all I want is I and II. (Clarification: I'm not saying C#/VB quality = Godfather III quality, I'm simply saying I don't use them)
MFC - I think it's the best c++ option when you want an app that looks and feels like a Windows app. As others have said, the big problem is the code feels too non-standardish and outdated. I think even Qt suffers from this, but not quite to the same extent. It would be great to see std::containers, algorithms, etc. used in the MFC library, as well as some refactoring to use some of the current popular design patterns. (say, MVC)
C++0x - My guess is that it will be a good 3+ years before you can write code that's truly transparent across the major platforms/compilers, and I don't really see the point in writing C++0x based code until then. (I can get by with current standard + boost for now)
But, since you are looking for input, the items I prefer from the new standard are the ones that decrease verbosity - initializer lists, range-based for loops, constructors calling other constructors, data member initialization, etc. The less typing, the better IMO.