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 > &);
}
namespace boost {
template<typename T, typename Alloc> class circular_buffer_space_optimized;
template<typename T, typename Alloc>
bool operator==(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
bool operator<(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
bool operator!=(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
bool operator>(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
bool operator<=(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
bool operator>=(const circular_buffer_space_optimized< T, Alloc > & lhs,
const circular_buffer_space_optimized< T, Alloc > & rhs);
template<typename T, typename Alloc>
void swap(circular_buffer_space_optimized< T, Alloc > & lhs,
circular_buffer_space_optimized< T, Alloc > & rhs);
}