Tervel  1.0.0
A collection of wait-free containers and algorithms.
Public Member Functions | Private Attributes | Friends | List of all members
tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp Class Reference

TODO(steven): add description TODO(steven): move into a file. More...

Inheritance diagram for tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp:
tervel::util::OpRecord

Public Member Functions

 ForceExpandOp (HashMap *map, Location *loc, size_t depth)
 
void help_complete ()
 Implementations of this function that upon its return the operation described in the OpRecord has been completed. More...
 

Private Attributes

HashMapmap_ {nullptr}
 
Locationloc_ {nullptr}
 
size_t depth_ {0}
 

Friends

class HashMap
 

Additional Inherited Members

- Private Member Functions inherited from tervel::util::OpRecord
 OpRecord ()
 
bool on_watch (std::atomic< void * > *address, void *expected)
 This function is used to achieve a strong watch on an Element. More...
 
bool on_is_watched ()
 This function is used to check a strong watch on an Element. More...
 
void on_unwatch ()
 This function is used to remove a strong watch on an Element. More...
 
- Private Member Functions inherited from tervel::util::memory::hp::Element
 Element ()
 
virtual ~Element ()
 
void safe_delete (bool no_check=false, ElementList *const element_list=tervel::tl_thread_info->get_hp_element_list())
 This function is used to free a hazard pointer protected object if it is safe to do so OR add it to a list to be freed later. More...
 

Detailed Description

template<class Key, class Value, class Functor = default_functor<Key, Value>>
class tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp

TODO(steven): add description TODO(steven): move into a file.

Constructor & Destructor Documentation

template<class Key , class Value , class Functor = default_functor<Key, Value>>
tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp::ForceExpandOp ( HashMap map,
Location loc,
size_t  depth 
)
inline

Member Function Documentation

template<class Key , class Value , class Functor = default_functor<Key, Value>>
void tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp::help_complete ( )
inlinevirtual

Implementations of this function that upon its return the operation described in the OpRecord has been completed.

As such it must be thread-safe and the extending class must contain all the information necessary to complete the operation.

Implements tervel::util::OpRecord.

Friends And Related Function Documentation

template<class Key , class Value , class Functor = default_functor<Key, Value>>
friend class HashMap
friend

Member Data Documentation

template<class Key , class Value , class Functor = default_functor<Key, Value>>
size_t tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp::depth_ {0}
private
template<class Key , class Value , class Functor = default_functor<Key, Value>>
Location* tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp::loc_ {nullptr}
private
template<class Key , class Value , class Functor = default_functor<Key, Value>>
HashMap* tervel::containers::wf::HashMap< Key, Value, Functor >::ForceExpandOp::map_ {nullptr}
private

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