qsw.write(rec_xml,s1);
std::string tname;  char tprec[2]={0,'\n'};  QIOStrings::QIOTypeStringFromType(tname, s1); tprec[0] = QIOStrings::QIOPrecisionStringFromType(s1);  QIO_RecordInfo* info = QIO_create_record_info(QIO_FIELD, const_cast<char *>(tname.c_str()), tprec, Nc, Ns, sizeof(T),1 );   QIO_String* xml_c = QIO_string_create(); if (Layout::primaryNode()) QIO_string_set(xml_c, rec_xml.str().c_str());  if (xml_c == NULL) { QDPIO::cerr << "QDPFileWriter::write - error in creating XML string" << endl; QDP_abort(1); }   if (QIO_write(get(), info, xml_c, &(QDPOLatticeFactoryGet<T>), sizeof(T), sizeof(typename WordType<T>::Type_t), (void *)s1.getF()) != QIO_SUCCESS) { QDPIO::cerr << "QDPFileWriter: error in write" << endl; clear(QDPIO_badbit); }   QIO_string_destroy(xml_c); QIO_destroy_record_info(info);
void write(QDPFileWriter& qsw, XMLBufferWriter& rec_xml, const multi1d< OLattice<T> >& s1){  qsw.write(rec_xml,s1);}