BinaryReader& read(BinaryReader& bin, OLattice<T>& d)
BinaryReader& read(BinaryReader& bin, OScalar<T>& d)
BinaryReader& read(BinaryReader& bin, OLattice<T>& d){  for(int site=0; site < Layout::vol(); ++site)   {    int i = Layout::linearSiteIndex(site);    bfread((void *)&(d.elem(i)), sizeof(typename WordType<T>::Type_t), 	   sizeof(T) / sizeof(typename WordType<T>::Type_t), bin.get());  }  return bin;}