July 2007
Intermediate to advanced
332 pages
10h 4m
English
const_accessor — Provides read-only access to a pair in a concurrent_hash_map.
#include "tbb/concurrent_hash_map.h" template<typename Key, typename T, typename HashCompare> class concurrent_hash_ map<Key,T,HashCompare>::const_accessor;
A const_accessor permits read-only access to a key-value pair in a concurrent_hash_map.
namespace tbb {
template<typename Key, typename T, typename HashCompare>
class concurrent_hash_map<Key,T,HashCompare>::const_accessor {
public:
// types
typedef const std::pair<const Key,T> value_type;
// construction and destruction
const_accessor();
~const_accessor();
// inspection
bool empty() const;
const value_type& operator*() const;
const value_type* operator->() const;
// early release
void release();
};
}bool empty() const
Returns: true if the instance points to nothing; false if the instance points to a key-value pair.
void release()
Effects: if the instance contains a key-value pair, releases the implied lock on the pair and sets the instance to point to nothing. Otherwise, does nothing.
constvalue_type&operator*() const
Effects: raises an assertion failure if empty() is true and TBB_DO_ASSERT is defined as nonzero.
Returns: const reference to a key-value pair.
constvalue_type*operator->() const
Returns: &operator*()*
const_accessor()
Effects: constructs a const_accessor that points to nothing.
~const_accessor
Effects: if pointing to a key-value pair, releases the implied lock on the pair.