Intel(R) Threading Building Blocks Doxygen Documentation
version 4.2.3
|
#include <concurrent_lru_cache.h>
Classes | |
struct | aggregator_operation |
class | handle_object |
struct | map_value_type |
struct | retrieve_aggregator_operation |
struct | signal_end_of_usage_aggregator_operation |
Public Types | |
typedef handle_object | handle |
Public Member Functions | |
concurrent_lru_cache (value_function_type f, std::size_t number_of_lru_history_items) | |
handle_object | operator[] (key_type k) |
Private Types | |
typedef concurrent_lru_cache | self_type |
typedef value_functor_type | value_function_type |
typedef std::size_t | ref_counter_type |
typedef std::map< key_type, map_value_type > | map_storage_type |
typedef std::list< typename map_storage_type::iterator > | lru_list_type |
typedef aggregator_operation | aggregated_operation_type |
typedef tbb::internal::aggregating_functor< self_type, aggregated_operation_type > | aggregator_function_type |
typedef tbb::internal::aggregator< aggregator_function_type, aggregated_operation_type > | aggregator_type |
Private Member Functions | |
void | signal_end_of_usage (typename map_storage_type::reference value_ref) |
void | handle_operations (aggregator_operation *op_list) |
map_storage_type::reference | retrieve_serial (key_type k, bool &is_new_value_needed) |
void | signal_end_of_usage_serial (typename map_storage_type::reference map_record_ref) |
![]() | |
void | operator= (const no_assign &)=delete |
no_assign (const no_assign &)=default | |
no_assign ()=default | |
Private Attributes | |
value_function_type | my_value_function |
std::size_t const | my_number_of_lru_history_items |
map_storage_type | my_map_storage |
lru_list_type | my_lru_list |
aggregator_type | my_aggregator |
Friends | |
class | tbb::internal::aggregating_functor< self_type, aggregated_operation_type > |
Definition at line 44 of file concurrent_lru_cache.h.
|
private |
Definition at line 65 of file concurrent_lru_cache.h.
|
private |
Definition at line 67 of file concurrent_lru_cache.h.
|
private |
Definition at line 69 of file concurrent_lru_cache.h.
typedef handle_object tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::handle |
Definition at line 79 of file concurrent_lru_cache.h.
|
private |
Definition at line 51 of file concurrent_lru_cache.h.
|
private |
Definition at line 49 of file concurrent_lru_cache.h.
|
private |
Definition at line 48 of file concurrent_lru_cache.h.
|
private |
Definition at line 46 of file concurrent_lru_cache.h.
|
private |
Definition at line 47 of file concurrent_lru_cache.h.
|
inline |
Definition at line 82 of file concurrent_lru_cache.h.
References tbb::interface6::internal::aggregator< handler_type, operation_type >::initialize_handler(), and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_aggregator.
|
inlineprivate |
Definition at line 229 of file concurrent_lru_cache.h.
References tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::aggregator_operation::cast_and_handle(), tbb::internal::itt_store_word_with_release(), tbb::interface6::internal::aggregated_operation< Derived >::next, and tbb::interface6::internal::aggregated_operation< Derived >::status.
|
inline |
Definition at line 88 of file concurrent_lru_cache.h.
References tbb::internal::__TBB_store_with_release(), tbb::interface6::internal::aggregator< handler_type, operation_type >::execute(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::retrieve_aggregator_operation::is_new_value_needed(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_aggregator, tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_value_function, tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::retrieve_aggregator_operation::result(), and tbb::internal::spin_wait_while_eq().
|
inlineprivate |
Definition at line 239 of file concurrent_lru_cache.h.
References __TBB_ASSERT, tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_lru_list, and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_map_storage.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::retrieve_aggregator_operation::handle().
|
inlineprivate |
Definition at line 100 of file concurrent_lru_cache.h.
References tbb::interface6::internal::aggregator< handler_type, operation_type >::execute(), and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_aggregator.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::handle_object::operator=(), and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::handle_object::~handle_object().
|
inlineprivate |
Definition at line 258 of file concurrent_lru_cache.h.
References __TBB_ASSERT, tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_lru_list, tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_map_storage, and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::my_number_of_lru_history_items.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::signal_end_of_usage_aggregator_operation::handle().
|
friend |
Definition at line 68 of file concurrent_lru_cache.h.
|
private |
Definition at line 76 of file concurrent_lru_cache.h.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::concurrent_lru_cache(), tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::operator[](), and tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::signal_end_of_usage().
|
private |
|
private |
|
private |
Definition at line 73 of file concurrent_lru_cache.h.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::signal_end_of_usage_serial().
|
private |
Definition at line 72 of file concurrent_lru_cache.h.
Referenced by tbb::interface6::concurrent_lru_cache< key_type, value_type, value_functor_type >::operator[]().