Boost logo

Boost Users :

Subject: Re: [Boost-users] Newbie question filesystem
From: Dan Bloomquist (danb_at_[hidden])
Date: 2010-05-06 13:57:15


Igor R wrote:
>> 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 );
>>
>
> Does vpath class have a constructor that takes CString or LPTCSTR?
>

Hi,
 From what I see, basic_path will with < std::string, path_traits > (
from path.hpp). I'm deriving from basic_path and using that constructor.
This line 'looks' to work fine for path:
typedef basic_path< std::string, path_traits > path;

But I get the error:
  'basic_vpath<String,Traits>::basic_vpath(const
basic_vpath<String,Traits> &)' : cannot convert parameter 1 from
'CString' to 'const basic_vpath<String,Traits> &'

When I add my extension above. I'd like this vpath class to have all the
functionallity of path. The added stuff would kick in on a signature of
$(..) in the path.

Best, 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