#ifndef VISIBILITYBUFFERASYNC_H_
#define VISIBILITYBUFFERASYNC_H_
#include <msvis/MSVis/VisBuffer.h>
class ROVisibilityIteratorAsync;
class VisBufferAsync : public VisBuffer {
friend class ViReadImplAsync;
friend class VisBufferAsyncWrapper;
friend class VisBufferAutoPtr;
friend class asyncio::VlaDatum;
friend class asyncio::VLAT;
VisBufferAsync & operator= (const VisBufferAsync & other);
virtual void allSelectedSpectralWindows(casacore::Vector<casacore::Int>& spws, casacore::Vector<casacore::Int>& nvischan);
virtual VisBufferAsync & assign (const VisBuffer & vb, casacore::Bool copy);
virtual casacore::Vector<casacore::MDirection> azel(casacore::Double time) const;
virtual casacore::MDirection azel0(casacore::Double time) const;
virtual VisBuffer * clone () const;
virtual void detachFromVisIter ();
virtual casacore::Vector<casacore::Float> feed_pa(casacore::Double time) const;
virtual casacore::Double hourang(casacore::Double time) const;
virtual void invalidate ();
virtual void invalidateAsync ();
virtual void lsrFrequency(const casacore::Int& spw, casacore::Vector<casacore::Double>& freq, casacore::Bool& convert) const;
virtual const casacore::MSColumns& msColumns() const;
casacore::Int msId () const;
virtual casacore::Bool newArrayId () const;
virtual casacore::Bool newFieldId () const;
casacore::Bool newMS() const;
virtual casacore::Bool newSpectralWindow () const;
casacore::Int nRowChunk() const{
casacore::Int numberAnt () const;