自己解決。

template <class T, class Allocator = std::allocator<T> >
class protected_vector : private std::vector<T, Allocator>
{
public:
  typedef allocator_type allocator_type;
  typedef const_iterator const_iterator;
  typedef const_pointer const_pointer;
  ...
protected:
  ~protected_vector();
}

こういうのを作っておいて継承するわ。