develooper Front page | perl.perl6.porters | Postings from April 2000

Re: Simplfied vector<> ?

Thread Previous
From:
Chip Salzenberg
Date:
April 30, 2000 00:34
Subject:
Re: Simplfied vector<> ?
Message ID:
20000430003425.N1044@perlsupport.com
According to Jean-Louis Leroy:
> > The standard C++ vector<> container is almost perfect for use in Perl
> > arrays and the data stack.  But it has a major weakness...  It's _so_
> > general that it doesn't use memcpy() [or moral equivalent] when it has
> > to grow.  Instead, it uses copy constructors in a loop.  That could be
> > a major performance issue with vector<Counted_p<T>>.
> 
> Have you considered deque<>? It doesn't copy the elements when growing.

That's the good part.  The bad part is, no guaranteed contiguous
storage of elements.  That's something I'd rather not lose.

> > Now, I could write a vector<>
> 
> Do you mean a vector_Counted_p<>? Better create a partial
> specialization of vector<>:
> 
>         template<class T, class A>
>         class vector<Counted_p<T>, A>
>         {
>                 // ...
>         };

Ah, that's a good thought indeed.  Thanks.
-- 
Chip Salzenberg              - a.k.a. -              <chip@valinux.com>
"I wanted to play hopscotch with the impenetrable mystery of existence,
    but he stepped in a wormhole and had to go in early."  // MST3K

Thread Previous


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About