std::vector getDataByLabel()

in cpp/src/hnswalg.h [959:980]


  std::vector<data_t> getDataByLabel(labeltype label) const {
    if (search_only_)
      throw std::runtime_error(
          "getDataByLabel is not supported in search only mode");

    tableint label_c;
    auto search = label_lookup_.find(label);
    if (search == label_lookup_.end() || isMarkedDeleted(search->second)) {
      throw std::runtime_error("Label " + std::to_string(label) +
                               " not found in index.");
    }
    label_c = search->second;

    data_t *data_ptr = getDataByInternalId(label_c);
    size_t dim = dist_func_param_;
    std::vector<data_t> data;
    for (unsigned long i = 0; i < dim; i++) {
      data.push_back(*data_ptr);
      data_ptr += 1;
    }
    return data;
  }