Blender V5.0
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 53 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 92 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 94 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 97 of file BLI_enumerable_thread_specific.hh.

References F, and T.

Member Function Documentation

◆ begin()

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

Definition at line 114 of file BLI_enumerable_thread_specific.hh.

◆ end()

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

Definition at line 119 of file BLI_enumerable_thread_specific.hh.

◆ local()

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

Definition at line 102 of file BLI_enumerable_thread_specific.hh.

References lock, T, 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::geometry::ngon::calc_corner_tris(), blender::geometry::quad::calc_corner_tris(), 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(), calculate_average_color(), blender::ed::sculpt_paint::face_set::clear_face_sets(), blender::ed::sculpt_paint::cloth::cloth_brush_apply_brush_forces(), blender::ed::sculpt_paint::undo::PositionUndoStorage::compress_fn(), blender::ed::sculpt_paint::boundary::do_bend_brush(), blender::ed::sculpt_paint::brushes::do_bmesh_topology_rake_brush(), blender::ed::sculpt_paint::brushes::do_clay_brush(), blender::ed::sculpt_paint::brushes::do_clay_strips_brush(), blender::ed::sculpt_paint::brushes::do_clay_thumb_brush(), blender::ed::sculpt_paint::brushes::do_displacement_eraser_brush(), blender::ed::sculpt_paint::brushes::do_displacement_smear_brush(), blender::ed::sculpt_paint::brushes::do_draw_vector_displacement_brush(), blender::ed::sculpt_paint::brushes::do_elastic_deform_brush(), blender::ed::sculpt_paint::brushes::do_enhance_details_brush(), blender::ed::sculpt_paint::boundary::do_grab_brush(), blender::ed::sculpt_paint::brushes::do_grab_brush(), blender::ed::sculpt_paint::boundary::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_inflate_brush(), blender::ed::sculpt_paint::brushes::do_layer_brush(), blender::ed::sculpt_paint::brushes::do_mask_brush(), blender::ed::sculpt_paint::brushes::do_multiplane_scrape_brush(), blender::ed::sculpt_paint::color::do_paint_brush(), blender::ed::sculpt_paint::brushes::do_pinch_brush(), blender::ed::sculpt_paint::brushes::do_plane_brush(), blender::ed::sculpt_paint::pose::do_pose_brush(), blender::ed::sculpt_paint::brushes::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::brushes::do_smooth_brush(), blender::ed::sculpt_paint::brushes::do_smooth_mask_brush(), blender::ed::sculpt_paint::brushes::do_snake_hook_brush(), blender::ed::sculpt_paint::brushes::do_thumb_brush(), blender::ed::sculpt_paint::brushes::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::geometry::mesh_copy_selection(), blender::geometry::mesh_copy_selection_keep_verts(), blender::ed::sculpt_paint::filter::mesh_filter_sharpen_init(), blender::ed::sculpt_paint::brushes::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::undo::restore_position_grids(), blender::ed::sculpt_paint::undo::restore_position_mesh(), 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: