BDE 4.14.0 Production release
|
#include <bslstl_hashtable.h>
Public Member Functions | |
HashTable_HashWrapper () | |
HashTable_HashWrapper (const FUNCTOR &fn) | |
void | swap (HashTable_HashWrapper &other) |
Exchange the value of this object with the specified other object. | |
template<class ARG_TYPE > | |
std::size_t | operator() (ARG_TYPE &arg) const |
const FUNCTOR & | functor () const |
This class provides a wrapper around a functor satisfying the Hash
requirements (bslstl_hash ) such that the function call operator is always declared as const
qualified.
TBD Provide an optimization for the case of an empty base functor, where we can safely const_cast want calling the base class operator.
Note that we would only one class, not two, with C++11 variadic templates and perfect forwarding, and we could also easily detect whether or not FUNCTOR
provided a const-qualified operator()
.
See bslstl_hashtable
|
inline |
Create a HashTable_HashWrapper
object wrapping a FUNCTOR
that has its default value.
|
inlineexplicit |
Create a HashTable_HashWrapper
object wrapping a FUNCTOR
that is a copy of the specified fn
.
|
inline |
Return a reference providing non-modifiable access to the hash functor wrapped by this object.
|
inline |
Call the wrapped functor
with the specified arg
and return the result. Note that ARG_TYPE
will typically be deduced as a const
type.
|
inline |