Namespace scope functions

  template <class Allocator>
  bool
  operator==(const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y);
  

Returns x.size() == y.size() && std::equal(x.begin(), x.end(), y.begin());

Throws nothing.

  template <class Allocator>
  bool
  operator!=(const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y);  

Returns !(x == y);

Throws nothing.

  template <class Allocator>
  bool
  operator< (const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y);  

Returns std::lexicographical_compare(x.begin(), x.end(), y.begin(), y.end());

Throws nothing.

  template <class Allocator>
  bool
  operator> (const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y);  

Returns y < x;

Throws nothing.

  template <class Allocator>
  bool
  operator>=(const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y); 

Returns !(x < y);

Throws nothing.

  template <class Allocator>
  bool
  operator<=(const bitvector<Allocator>& x, const 
  bitvector<Allocator>& y);  

Returns !(y < x);

Throws nothing.

  template <class Allocator>
  void
  swap(bitvector<Allocator>& x, bitvector<Allocator>& y);  

Calls x.swap(y);