void swap(buffer<Ch, Alloc>& lhs, buffer<Ch, Alloc>& rhs) { lhs.swap(rhs); }
void swap( buffer<T,B1,A>& a, buffer<T,B2,A>& b ) { a.swap(b); }