BinaryReader& read(BinaryReader& bin, OScalar<T>& d)
BinaryReader& read(BinaryReader& bin, T& d)
BinaryReader& read(BinaryReader& bin, OScalar<T>& d){  if (Layout::primaryNode())     bfread((void *)&(d.elem()), sizeof(typename WordType<T>::Type_t), 	   sizeof(T) / sizeof(typename WordType<T>::Type_t), bin.get());   // Now broadcast back out to all nodes  Internal::broadcast(d);  return bin;}