Blender  V3.3
Classes | Public Member Functions | List of all members
blender::ed::spreadsheet::SpreadsheetCache Class Reference

#include <spreadsheet_cache.hh>

Classes

class  Key
 
class  Value
 

Public Member Functions

void add (std::unique_ptr< Key > key, std::unique_ptr< Value > value)
 
Valuelookup (const Key &key)
 
Valuelookup_or_add (std::unique_ptr< Key > key, FunctionRef< std::unique_ptr< Value >()> create_value)
 
void set_all_unused ()
 
void remove_all_unused ()
 
template<typename T >
Tlookup_or_add (std::unique_ptr< Key > key)
 

Detailed Description

A generic cache for the spreadsheet. Different data sources can cache custom data using custom keys.

Elements are removed from the cache when they are not used during a redraw.

Definition at line 19 of file spreadsheet_cache.hh.

Member Function Documentation

◆ add()

void blender::ed::spreadsheet::SpreadsheetCache::add ( std::unique_ptr< Key key,
std::unique_ptr< Value value 
)

Definition at line 7 of file spreadsheet_cache.cc.

Referenced by lookup_or_add().

◆ lookup()

SpreadsheetCache::Value * blender::ed::spreadsheet::SpreadsheetCache::lookup ( const Key key)

◆ lookup_or_add() [1/2]

template<typename T >
T& blender::ed::spreadsheet::SpreadsheetCache::lookup_or_add ( std::unique_ptr< Key key)
inline

Definition at line 57 of file spreadsheet_cache.hh.

References lookup_or_add(), and T.

◆ lookup_or_add() [2/2]

SpreadsheetCache::Value & blender::ed::spreadsheet::SpreadsheetCache::lookup_or_add ( std::unique_ptr< Key key,
FunctionRef< std::unique_ptr< Value >()>  create_value 
)

Definition at line 25 of file spreadsheet_cache.cc.

References add(), and lookup().

Referenced by blender::ed::spreadsheet::add_fields_as_extra_columns(), and lookup_or_add().

◆ remove_all_unused()

void blender::ed::spreadsheet::SpreadsheetCache::remove_all_unused ( )

◆ set_all_unused()

void blender::ed::spreadsheet::SpreadsheetCache::set_all_unused ( )

Definition at line 38 of file spreadsheet_cache.cc.

Referenced by spreadsheet_main_region_draw().


The documentation for this class was generated from the following files: