void release() { // Note that if two OpenCLBuffers point to the same thing, then this // only disconnects one side - the other one should be fine as both // cl::Buffer and boost::shared_array are reference counted. m_buffer=cl::Buffer(); m_pElts=NULL; if(m_pStg) m_pStg->Release(); m_pStg=0; m_n=0; m_cb=0; m_name="<empty>"; }