示例#1
0
static uint64_t HashPidElementAttributePath (TRI_associative_synced_t* array, void const* element) {
  TRI_shape_path_t const* e;

  e = (TRI_shape_path_t const*) element;

  return TRI_FnvHashPointer(&e->_pid, sizeof(TRI_shape_pid_t));
}
示例#2
0
static uint64_t HashElementShape (TRI_associative_pointer_t* array, void const* element) {
  char const* e;
  TRI_shape_t const* ee;

  e = element;
  ee = element;

  return TRI_FnvHashPointer(e + sizeof(TRI_shape_sid_t), (size_t)(ee->_size - sizeof(TRI_shape_sid_t)));
}
示例#3
0
static uint64_t HashElementAttributeName (TRI_associative_pointer_t* array, void const* element) {
  char const* e;
  attribute_2_id_t const* ee;

  e = (char const*) element;
  ee = (attribute_2_id_t const*) element;

  return TRI_FnvHashPointer(e + sizeof(attribute_2_id_t), (size_t)(ee->_size - 1));
}
示例#4
0
static uint64_t HashNameElementAttributePath (TRI_associative_synced_t* array, void const* element) {
  char const* e;
  TRI_shape_path_t const* ee;

  e = (char const*) element;
  ee = (TRI_shape_path_t const*) element;

  return TRI_FnvHashPointer(e + sizeof(TRI_shape_path_t) + ee->_aidLength * sizeof(TRI_shape_aid_t),
                            ee->_nameLength - 1);
}
示例#5
0
static uint64_t HashPidKeyAttributePath (TRI_associative_synced_t* array, void const* key) {
  return TRI_FnvHashPointer(key, sizeof(TRI_shape_pid_t));
}
示例#6
0
uint64_t TRI_HashPointerKeyAssociativePointer (TRI_associative_pointer_t* array,
                                               void const* ptr) {
  return TRI_FnvHashPointer(ptr, sizeof(void const*));
}