Blender  V3.3
Classes | Namespaces | Functions
BLI_map_slots.hh File Reference
#include "BLI_memory_utils.hh"

Go to the source code of this file.

Classes

class  blender::SimpleMapSlot< Key, Value >
 
class  blender::IntrusiveMapSlot< Key, Value, KeyInfo >
 
struct  blender::DefaultMapSlot< Key, Value >
 
struct  blender::DefaultMapSlot< Key *, Value >
 

Namespaces

 blender
 

Functions

template<typename Src1 , typename Src2 , typename Dst1 , typename Dst2 >
void blender::initialize_pointer_pair (Src1 &&src1, Src2 &&src2, Dst1 *dst1, Dst2 *dst2)
 

Detailed Description

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

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

When a slot is occupied, it stores instances of type Key and Value.

A map slot type has to implement a couple of methods that are explained in SimpleMapSlot. 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.

Possible Improvements:

Definition in file BLI_map_slots.hh.