Blender V5.0
UniqueName_Value Struct Reference

Public Member Functions

void mark_used (const int number)
void mark_unused (const int number)
int get_smallest_unused ()

Public Attributes

std::optional< int > max_value_in_use = {}
BitVector mask = {}
std::optional< Map< int, int > > numbers_multi_usages = std::nullopt

Static Public Attributes

static constexpr int max_exact_tracking = 1023

Detailed Description

Definition at line 53 of file main_namemap.cc.

Member Function Documentation

◆ get_smallest_unused()

int UniqueName_Value::get_smallest_unused ( )
inline

Return the smallest non-null known free number.

Note
This is only returns the true smallest unused number for values <= max_exact_tracking. Otherwise, it simply returns the highest known value in use + 1.

Definition at line 138 of file main_namemap.cc.

References blender::bits::BitVector< InlineBufferCapacity, Allocator >::data(), max_exact_tracking, MAX_NUMBER, NO_AVAILABLE_NUMBER, result, and blender::bits::BitVector< InlineBufferCapacity, Allocator >::size().

◆ mark_unused()

void UniqueName_Value::mark_unused ( const int number)
inline

Definition at line 100 of file main_namemap.cc.

References BLI_assert, BLI_assert_msg, mask, max_exact_tracking, and NO_AVAILABLE_NUMBER.

◆ mark_used()

Member Data Documentation

◆ mask

BitVector UniqueName_Value::mask = {}

Definition at line 56 of file main_namemap.cc.

Referenced by mark_unused().

◆ max_exact_tracking

int UniqueName_Value::max_exact_tracking = 1023
staticconstexpr

Definition at line 54 of file main_namemap.cc.

Referenced by get_smallest_unused(), mark_unused(), and mark_used().

◆ max_value_in_use

std::optional<int> UniqueName_Value::max_value_in_use = {}

Definition at line 55 of file main_namemap.cc.

◆ numbers_multi_usages

std::optional<Map<int, int> > UniqueName_Value::numbers_multi_usages = std::nullopt

Definition at line 69 of file main_namemap.cc.


The documentation for this struct was generated from the following file: