Blender V4.3
blender::threading::EnumerableThreadSpecific< T > Class Template Reference

#include <BLI_enumerable_thread_specific.hh>

Inherits blender::NonCopyable, and blender::NonMovable.

Public Types

using iterator = typename Map<int, std::reference_wrapper<T>>::MutableValueIterator
 

Public Member Functions

 EnumerableThreadSpecific ()
 
template<typename F >
 EnumerableThreadSpecific (F initializer)
 
Tlocal ()
 
iterator begin ()
 
iterator end ()
 

Detailed Description

template<typename T>
class blender::threading::EnumerableThreadSpecific< T >

This is mainly a wrapper for tbb::enumerable_thread_specific. The wrapper is needed because we want to be able to build without tbb.

More features of the tbb version can be wrapped when they are used.

Definition at line 49 of file BLI_enumerable_thread_specific.hh.

Member Typedef Documentation

◆ iterator

template<typename T >
using blender::threading::EnumerableThreadSpecific< T >::iterator = typename Map<int, std::reference_wrapper<T>>::MutableValueIterator

Definition at line 88 of file BLI_enumerable_thread_specific.hh.

Constructor & Destructor Documentation

◆ EnumerableThreadSpecific() [1/2]

template<typename T >
blender::threading::EnumerableThreadSpecific< T >::EnumerableThreadSpecific ( )
inline

Definition at line 90 of file BLI_enumerable_thread_specific.hh.

References T.

◆ EnumerableThreadSpecific() [2/2]

template<typename T >
template<typename F >
blender::threading::EnumerableThreadSpecific< T >::EnumerableThreadSpecific ( F initializer)
inline

Definition at line 93 of file BLI_enumerable_thread_specific.hh.

References T.

Member Function Documentation

◆ begin()

template<typename T >
iterator blender::threading::EnumerableThreadSpecific< T >::begin ( )
inline

Definition at line 110 of file BLI_enumerable_thread_specific.hh.

◆ end()

template<typename T >
iterator blender::threading::EnumerableThreadSpecific< T >::end ( )
inline

Definition at line 115 of file BLI_enumerable_thread_specific.hh.

◆ local()

template<typename T >
T & blender::threading::EnumerableThreadSpecific< T >::local ( )
inline

Definition at line 98 of file BLI_enumerable_thread_specific.hh.

References blender::Vector< T, InlineBufferCapacity, Allocator >::append(), lock, and blender::threading::enumerable_thread_specific_utils::thread_id.

Referenced by blender::ed::sculpt_paint::mask::apply_mask_from_settings(), blender::ed::sculpt_paint::smooth::blur_geometry_data_array(), blender::ed::sculpt_paint::cloth::calc_constraint_factors(), blender::ed::sculpt_paint::filter::calc_enhance_details_filter(), blender::ed::sculpt_paint::filter::calc_erase_displacement_filter(), blender::ed::sculpt_paint::filter::calc_inflate_filter(), blender::ed::sculpt_paint::filter::calc_random_filter(), blender::AtomicDisjointSet::calc_reduced_ids(), blender::ed::sculpt_paint::filter::calc_relax_face_sets_filter(), blender::ed::sculpt_paint::filter::calc_relax_filter(), blender::ed::sculpt_paint::filter::calc_scale_filter(), blender::ed::sculpt_paint::filter::calc_sharpen_filter(), blender::ed::sculpt_paint::filter::calc_smooth_filter(), blender::ed::sculpt_paint::calc_smooth_translations(), blender::ed::sculpt_paint::filter::calc_sphere_filter(), blender::ed::sculpt_paint::filter::calc_surface_smooth_filter(), blender::ed::sculpt_paint::face_set::clear_face_sets(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_foces(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::do_clay_brush(), blender::ed::sculpt_paint::do_clay_strips_brush(), blender::ed::sculpt_paint::do_clay_thumb_brush(), blender::ed::sculpt_paint::do_displacement_eraser_brush(), blender::ed::sculpt_paint::do_displacement_smear_brush(), blender::ed::sculpt_paint::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::do_elastic_deform_brush(), blender::ed::sculpt_paint::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::do_inflate_brush(), blender::ed::sculpt_paint::do_layer_brush(), blender::ed::sculpt_paint::do_mask_brush(), blender::ed::sculpt_paint::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::ed::sculpt_paint::do_pinch_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::do_rotate_brush(), blender::ed::sculpt_paint::cloth::do_simulation_step(), blender::ed::sculpt_paint::boundary::do_slide_brush(), blender::ed::sculpt_paint::boundary::do_smooth_brush(), blender::ed::sculpt_paint::do_smooth_brush(), blender::ed::sculpt_paint::do_smooth_mask_brush(), blender::ed::sculpt_paint::do_snake_hook_brush(), blender::ed::sculpt_paint::do_thumb_brush(), blender::ed::sculpt_paint::do_topology_slide_brush(), blender::ed::sculpt_paint::boundary::do_twist_brush(), do_vpaint_brush_blur_loops(), do_vpaint_brush_blur_verts(), do_vpaint_brush_smear(), do_wpaint_brush_blur(), do_wpaint_brush_draw(), do_wpaint_brush_smear(), blender::ed::sculpt_paint::face_set::face_hide_update(), blender::ed::sculpt_paint::face_set::face_sets_update(), blender::ed::sculpt_paint::mask::fill_mask_mesh(), blender::ed::sculpt_paint::hide::flush_face_changes_node(), blender::index_mask::IndexMask::from_batch_predicate(), blender::index_mask::detail::from_predicate_impl(), blender::ed::sculpt_paint::project::gesture_apply_for_symmetry_pass(), blender::ed::sculpt_paint::face_set::gesture_apply_mesh(), blender::nodes::geo_eval_log::GeoModifierLog::get_local_tree_logger(), blender::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_verts(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::ed::sculpt_paint::offset_positions(), blender::ed::sculpt_paint::undo::restore_face_set_from_undo_step(), blender::ed::sculpt_paint::undo::restore_position_from_undo_step(), blender::ed::sculpt_paint::cloth::sculpt_cloth_filter_modal(), blender::ed::sculpt_paint::color::sculpt_color_filter_apply(), blender::ed::sculpt_paint::color::sculpt_color_presmooth_init(), blender::ed::sculpt_paint::mask::sculpt_mask_filter_exec(), blender::ed::sculpt_paint::sculpt_transform_all_vertices(), blender::ed::sculpt_paint::transform_radius_elastic(), blender::ed::greasepencil::trim::trim_curve_segments(), blender::ed::sculpt_paint::mask::update_mask_mesh(), blender::bke::greasepencil::update_triangle_cache(), blender::ed::sculpt_paint::hide::vert_hide_update(), vpaint_do_draw(), blender::io::obj::OBJWriter::write_face_elements(), and blender::ed::sculpt_paint::mask::write_mask_mesh().


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