Boost logo

Boost :

From: jsiek_at_[hidden]
Date: 2000-05-30 12:48:11

Hi Dave,

A quick first glance at the code brought up 2 issues for me:

1. It seems to me that if someone provides their own allocator there
is going to be a compiler error, since the Alloc parameter is not used
in the typedef for Impl. Or am I missing something?

template <class Key, class Value, class KeyOfValue,
    class Compare, class Alloc = std::allocator<Value> >
class associative_vector
    typedef std::vector<Value> Impl;


    associative_vector(const Compare& comp, const allocator_type& a)
        : m_key_compare(comp), m_impl(a) {}

2. I've got the exact same code sitting in GGCL. How about we
  put tied in utility.hpp?

template <class X, class Y>
struct tied
    tied(X& x, Y& y) : m_x(x), m_y(y) {}
    template <class T1, class T2>
    void operator=(const std::pair<T1,T2>& p)
        { m_x = p.first; m_y = p.second; }
    mutable X& m_x;
    mutable Y& m_y;

template <class X, class Y>
tied<X, Y> tie(X& x, Y& y) { return tied<X,Y>(x,y); }


Jeremy Siek

Dave Abrahams writes:
> The associative_vector, vector_set, and vector_multiset templates are
> available in the associative_vector folder in the Files section.
> I have included a very complete test as well. The test is passed on
> MSVC6.3 and GCC 2.95.2
> I request a review!
> Thanks,
> Dave
> ------------------------------------------------------------------------
> Accurate impartial advice on everything from laptops to table saws.
> ------------------------------------------------------------------------

Boost list run by bdawes at, gregod at, cpdaniel at, john at