namespace boost {
template<typename T, typename Alloc> class circular_buffer;
template<typename T, typename Alloc>
bool operator==(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
bool operator<(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
bool operator!=(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
bool operator>(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
bool operator<=(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
bool operator>=(const circular_buffer< T, Alloc > &,
const circular_buffer< T, Alloc > &);
template<typename T, typename Alloc>
void swap(circular_buffer< T, Alloc > &, circular_buffer< T, Alloc > &);
}