Boost logo

Boost Users :

Subject: [Boost-users] Newbie question filesystem
From: Dan Bloomquist (danb_at_[hidden])
Date: 2010-05-06 02:06:27


I lost my copy of metaprogramming. I'm ordering another tomorrow. But
here is what I'm up to.

I've been doing the virtual path thing with old MFC classes and such, like:
C:\\cpp\\RA_User_2_2\\$(TEST)
or
$(PATH)\$(TEST) etc.

What I'm trying to do is derive from filesystem and wrap this virtual
stuff around it to break away from the old stuff I have, (ugly stuff).
I've gotten to the point where I'd like to snap different virtual sets
in and don't want to build on the old stuff, filesystem is really cool.
I have a client that has several clients and wants to set his
configurations on the fly to handle them, I do it in code for myself,
but it is not runtime. Anyway...

So I started with:

template<class String, class Traits> class basic_vpath;
typedef basic_vpath< std::string, path_traits > vpath;

template<class String, class Traits> class basic_vpath
     :public basic_path< String, Traits >
{
};

But I don't understand why I can just fine:
     CString strUserDirectory= _T("C:\\cpp\\RA_User_2_2\\$(TEST)");
     path aPath( strUserDirectory );

But can't convert from CString, or even std::string with:

     CString strUserDirectory= _T("C:\\cpp\\RA_User_2_2\\$(TEST)");
     vpath aPath( strUserDirectory );

I'm trying to extend what I see in path.hpp without success, and I've
tried lots of stuff. Something to do with the converters?

Thanks, Dan.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net