Blender V4.3
session_uid.c File Reference
#include "BLI_session_uid.h"
#include "atomic_ops.h"

Go to the source code of this file.

Macros

#define BLI_session_uid_NONE   0
 

Functions

SessionUID BLI_session_uid_generate (void)
 
bool BLI_session_uid_is_generated (const SessionUID *uid)
 
bool BLI_session_uid_is_equal (const SessionUID *lhs, const SessionUID *rhs)
 
uint64_t BLI_session_uid_hash_uint64 (const SessionUID *uid)
 
uint BLI_session_uid_ghash_hash (const void *uid_v)
 
bool BLI_session_uid_ghash_compare (const void *lhs_v, const void *rhs_v)
 

Variables

static const SessionUID global_session_uid_none = {BLI_session_uid_NONE}
 
static SessionUID global_session_uid = {BLI_session_uid_NONE}
 

Macro Definition Documentation

◆ BLI_session_uid_NONE

#define BLI_session_uid_NONE   0

Definition at line 14 of file session_uid.c.

Function Documentation

◆ BLI_session_uid_generate()

SessionUID BLI_session_uid_generate ( void )

Generate new UID which is unique throughout the Blender session.

Definition at line 22 of file session_uid.c.

References atomic_add_and_fetch_uint64(), BLI_session_uid_is_generated(), global_session_uid, result, and SessionUID::uid_.

Referenced by BKE_pose_channel_session_uid_generate(), SEQ_relations_session_uid_generate(), and TEST().

◆ BLI_session_uid_ghash_compare()

bool BLI_session_uid_ghash_compare ( const void * lhs_v,
const void * rhs_v )

◆ BLI_session_uid_ghash_hash()

uint BLI_session_uid_ghash_hash ( const void * uid_v)

◆ BLI_session_uid_hash_uint64()

uint64_t BLI_session_uid_hash_uint64 ( const SessionUID * uid)

Definition at line 48 of file session_uid.c.

References SessionUID::uid_.

◆ BLI_session_uid_is_equal()

bool BLI_session_uid_is_equal ( const SessionUID * lhs,
const SessionUID * rhs )

Check whether two UIDs are identical.

Definition at line 43 of file session_uid.c.

References rhs, and SessionUID::uid_.

Referenced by BLI_session_uid_ghash_compare(), BLI_session_uid_is_generated(), and TEST().

◆ BLI_session_uid_is_generated()

Variable Documentation

◆ global_session_uid

SessionUID global_session_uid = {BLI_session_uid_NONE}
static

Definition at line 20 of file session_uid.c.

Referenced by BLI_session_uid_generate().

◆ global_session_uid_none

const SessionUID global_session_uid_none = {BLI_session_uid_NONE}
static

Definition at line 16 of file session_uid.c.

Referenced by BLI_session_uid_is_generated().