コード例 #1
0
	BitSequenceSDArray * BitSequenceSDArray::load(ifstream & fp) {
		uint id = loadValue<uint>(fp);
		if(id!=SDARRAY_HDR) return NULL;
		BitSequenceSDArray * ret = new BitSequenceSDArray();
		ret->length = loadValue<size_t>(fp);
		ret->ones = loadValue<size_t>(fp);
		if(ret->ones)
			selects3_load(&ret->sd,fp);
		return ret;
	}
static_bitsequence_sdarray * static_bitsequence_sdarray::load(FILE * fp) {
  uint id;
  if(fread(&id,sizeof(uint),1,fp)!=1) return NULL;
  if(id!=SDARRAY_HDR) return NULL;
  static_bitsequence_sdarray * ret = new static_bitsequence_sdarray();
  id = fread(&ret->len,sizeof(uint),1,fp);
  id += fread(&ret->ones,sizeof(uint),1,fp);
  if(ret->ones && selects3_load(&ret->sd,fp)) {
    delete ret;
    return NULL;
  }
  return ret;
}