$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: David Whetstone (mr.fixit_at_[hidden])
Date: 2006-01-12 23:47:57
Well, it seems I've answered my own question.  The similarity of the 
interface to std::basic_string led me to believe that what I was 
attempting was possible.  But the fundamental difference is that 
basic_string _is_ a container of characters (the type returned when its 
iterators are dereferenced), but basic_path only _pretends to be_ a 
container of path elements (strings) which is what is returned when its 
iterators are dereferenced.
Might I humbly suggest something along the lines of the following?
   template<class String, class Traits>
     basic_path<String, Traits> & basic_path<String, Traits>::append(
       iterator first,  iterator last )
   {
     assert( first.m_path_ptr == last.m_path_ptr );
     m_path.append( first.m_path_ptr->m_path.begin() + first.m_pos,
                    last.m_path_ptr->m_path.begin() + last.m_pos );
     return *this;
   }
Declared in the class thus:
   class iterator;
   basic_path & append( iterator first, iterator last );