Blender V5.0
id_hash.cc File Reference
#include <fcntl.h>
#include <unistd.h>
#include <fmt/format.h>
#include <mutex>
#include <xxhash.h>
#include "BKE_id_hash.hh"
#include "BKE_lib_id.hh"
#include "BKE_lib_query.hh"
#include "BKE_library.hh"
#include "BKE_main.hh"
#include "BLI_fileops.hh"
#include "BLI_mmap.h"
#include "BLI_mutex.hh"
#include "BLI_set.hh"

Go to the source code of this file.

Classes

struct  blender::bke::id_hash::CachedFileHash

Namespaces

namespace  blender
namespace  blender::bke
namespace  blender::bke::id_hash

Functions

static std::optional< Vector< char > > blender::bke::id_hash::read_file (const StringRefNull path)
static std::optional< XXH128_hash_t > blender::bke::id_hash::compute_file_hash_with_file_read (const StringRefNull path)
static std::optional< XXH128_hash_t > blender::bke::id_hash::compute_file_hash_with_memory_map (const StringRefNull path)
static std::optional< XXH128_hash_t > blender::bke::id_hash::compute_file_hash (const StringRefNull path)
static std::optional< XXH128_hash_t > blender::bke::id_hash::get_source_file_hash (const ID &id, DeepHashErrors &r_errors)
static std::optional< XXH128_hash_t > blender::bke::id_hash::get_id_shallow_hash (const ID &id, DeepHashErrors &r_errors)
static void blender::bke::id_hash::compute_deep_hash_recursive (const Main &bmain, const ID &id, Set< const ID * > &current_stack, Map< const ID *, IDHash > &r_hashes, DeepHashErrors &r_errors)
IDHashResult blender::bke::id_hash::compute_linked_id_deep_hashes (const Main &bmain, Span< const ID * > root_ids)
std::string blender::bke::id_hash::id_hash_to_hex (const IDHash &hash)