Blender  V3.3
Classes | Namespaces | Typedefs
BLI_set_slots.hh File Reference
#include "BLI_memory_utils.hh"
#include "BLI_string_ref.hh"

Go to the source code of this file.

Classes

class  blender::SimpleSetSlot< Key >
 
class  blender::HashedSetSlot< Key >
 
class  blender::IntrusiveSetSlot< Key, KeyInfo >
 
struct  blender::DefaultSetSlot< Key >
 
struct  blender::DefaultSetSlot< std::string >
 
struct  blender::DefaultSetSlot< StringRef >
 
struct  blender::DefaultSetSlot< StringRefNull >
 
struct  blender::DefaultSetSlot< Key * >
 

Namespaces

 blender
 

Typedefs

template<typename Int , Int EmptyValue, Int RemovedValue>
using blender::IntegerSetSlot = IntrusiveSetSlot< Int, TemplatedKeyInfo< Int, EmptyValue, RemovedValue > >
 

Detailed Description

This file contains different slot types that are supposed to be used with blender::Set.

Every slot type has to be able to hold a value of the Key type and state information. A set slot has three possible states: empty, occupied and removed.

Only when a slot is occupied, it stores an instance of type Key.

A set slot type has to implement a couple of methods that are explained in SimpleSetSlot. A slot type is assumed to be trivially destructible, when it is not in occupied state. So the destructor might not be called in that case.

Definition in file BLI_set_slots.hh.