Thanks. For some reason this does not work.

template
<
  class T,
  template <
    typename,
    typename  = boost::heap_clone_allocator,
    typename  = std::allocator<void*> >
  class PTR_CONT
>
PTR_CONT<PTR_CONT<T> > getDataSet(const char* fileInputPath,  boost::unordered_map<T, T>* pMap)
{
BOOST_ASSERT(boost::filesystem::exists(fileInputPath));
boost::scoped_ptr<boost::filesystem::ifstream> dataContainer(new boost::filesystem::ifstream(fileInputPath));
std::string flist(""), element("");
PTR_CONT<PTR_CONT<T> > dataSet;
PTR_CONT<T> line;
typedef boost::unordered_map<T, T> genericMap;
using boost::assign::operator+=;
while (std::getline(*dataContainer, flist))
{
  std::stringstream elements(flist);
  while (elements >> element)
  {
    T elem(boost::lexical_cast<T>(element));
line.push_back(new T(elem));
typename genericMap::const_iterator  iter(pMap->find(elem));
if (iter == pMap->end())
pMap->insert(typename genericMap::value_type(elem, 1));
else
(*pMap)[elem] += 1;
  }
  dataSet.push_back(boost::addressof(line));
  line.clear();
}
            return dataSet;
}

vecVecInt dataSet = apriori::getDataSet<int, boost::ptr_vector>(fileInput, boost::addressof(pMap)).clone();

// error on the line above.
./cs522/c++/aprioriMain.cpp:62: note: synthesized method 'boost::ptr_vector<boost::ptr_vector<int, boost::heap_clone_allocator, std::allocator<void*> >, boost::heap_clone_allocator, std::allocator<void*> >::ptr_vector(const boost::ptr_vector<boost::ptr_vector<int, boost::heap_clone_allocator, std::allocator<void*> >, boost::heap_clone_allocator, std::allocator<void*> >&)' first required here
./cs522/c++/aprioriMain.cpp:62: error:   initializing temporary from result of 'boost::ptr_vector<T, CloneAllocator, Allocator>::ptr_vector(std::auto_ptr<boost::ptr_vector<T, CloneAllocator, Allocator> >) [with T = boost::ptr_vector<int, boost::heap_clone_allocator, std::allocator<void*> >, CloneAllocator = boost::heap_clone_allocator, Allocator = std::allocator<void*>]'

Also off topic how would I do set_intersection and set_union since they are not available in container of pointer class.

On Nov 21, 2007 1:31 PM, Thorsten Ottosen < thorsten.ottosen@dezide.com> wrote:
> chun ping wang skrev:
> > Hi, since ptr_vector are non copyable,
>
> remark: they will be in 1.35
>
> > how would i got baout making
> > assignment from one ptr_vector to another..
> >
> > i.e. ptr_vector<Foo> t;
> > ptr_vector<Foo> t2;
> > // some coding.
> > t = t2;
>
> t = t2.clone();
>
> -Thorsten
>
> _______________________________________________
> Boost-users mailing list
> Boost-users@lists.boost.org
> http://lists.boost.org/mailman/listinfo.cgi/boost-users
>