SourcePro® 2023.1 |
SourcePro® API Reference Guide |
Deprecated. A functor map that takes two arguments at invocation time, and returns a value. More...
#include <rw/functor/map/RWTFunctorMapR2.h>
Public Types | |
typedef unsigned(* | hash_function) (const Key &) |
typedef Key | key_type |
Public Types inherited from RWTFunctorR2< SR, Key, S1 > | |
typedef SR(* | CallerSignature) (Key, S1) |
typedef Key | S1Type |
typedef S1 | S2Type |
typedef SR | SRType |
Public Member Functions | |
RWTFunctorMapR2 (hash_function hf, size_t size=RW_FUNCTOR_MAP_CAPACITY) | |
RWTFunctorMapR2 (const RWTFunctorMapR2< SR, Key, S1 > &second) | |
~RWTFunctorMapR2 (void) | |
bool | add (Key key, RWTFunctorR1< SR, S1 > functor) |
void | clear (void) |
bool | contains (Key key) const |
size_t | entries (void) const |
bool | find (Key key, RWTFunctorR1< SR, S1 > &functor) const |
RWTFunctorR1< SR, S1 > | getDefault (void) const |
SR | operator() (Key key, S1 s1) const |
RWTFunctorMapR2< SR, Key, S1 > & | operator= (const RWTFunctorMapR2< SR, Key, S1 > &second) |
bool | remove (Key key) |
void | resize (size_t size) |
void | setDefault (RWTFunctorR1< SR, S1 > functor) |
Public Member Functions inherited from RWTFunctorR2< SR, Key, S1 > | |
RWTFunctorR2 (void) | |
RWTFunctorR2 (RWStaticCtor) | |
RWTFunctorR2 (RWTFunctorR2Imp< SR, Key, S1 > *functorImp) | |
RWTFunctorR2 (const RWTFunctorR2< SR, Key, S1 > &second) | |
RWTFunctorR2 (const RWTFunctor< SR(Key, S1)> &second) | |
~RWTFunctorR2 (void) | |
RWTFunctorR2Imp< SR, Key, S1 > & | body (void) const |
RWTFunctorR2< SR, Key, S1 > & | operator= (const RWTFunctorR2< SR, Key, S1 > &second) |
RWTFunctorR2< SR, Key, S1 > & | operator= (const RWTFunctor< SR(Key, S1)> &second) |
The RWTFunctorMapR2 class represents the functor maps that take two arguments at invocation time, and return a value. Since one of these arguments is the key into the map, the functors held in the map take only one argument, and are RWTFunctorR1 functors.
Functor maps allow functors to be grouped together in a key/value table structure. They add functors to the map with a corresponding key of type key_type, used later to invoke the desired functor.
OUTPUT:
typedef unsigned(* RWTFunctorMapR2< SR, Key, S1 >::hash_function) (const Key &) |
The signature of the hash function.
typedef Key RWTFunctorMapR2< SR, Key, S1 >::key_type |
The type of the key.
RWTFunctorMapR2< SR, Key, S1 >::RWTFunctorMapR2 | ( | hash_function | hf, |
size_t | size = RW_FUNCTOR_MAP_CAPACITY |
||
) |
Constructs an empty map instance. This creates a complete RWTFunctorMapR2 instance, but with no entries. The size parameter has a default value of RW_FUNCTOR_MAP_CAPACITY, defined in rw/functor/map/pkgdefs.h
.
RWTFunctorMapR2< SR, Key, S1 >::RWTFunctorMapR2 | ( | const RWTFunctorMapR2< SR, Key, S1 > & | second | ) |
Copy constructor. Constructs a new functor map instance that then shares its representation with the functor map second.
RWTFunctorMapR2< SR, Key, S1 >::~RWTFunctorMapR2 | ( | void | ) |
Destructor.
bool RWTFunctorMapR2< SR, Key, S1 >::add | ( | Key | key, |
RWTFunctorR1< SR, S1 > | functor | ||
) |
Adds the specified functor to the functor map with the corresponding key, and returns true
. If an entry already exists with an equivalent key, returns false
, and the addition fails.
void RWTFunctorMapR2< SR, Key, S1 >::clear | ( | void | ) |
Clears the functor map of all entries.
bool RWTFunctorMapR2< SR, Key, S1 >::contains | ( | Key | key | ) | const |
Returns true
if the functor map contains an entry with key equivalent to the given key, otherwise false
.
size_t RWTFunctorMapR2< SR, Key, S1 >::entries | ( | void | ) | const |
Returns the number of entries in the functor map.
bool RWTFunctorMapR2< SR, Key, S1 >::find | ( | Key | key, |
RWTFunctorR1< SR, S1 > & | functor | ||
) | const |
Finds the entry in the functor map with a key equivalent to the given key, and returns it via the reference parameter functor. Returns true
if the key is found, otherwise false
. If a matching key is not found but a default functor exists, sets the parameter functor to the default functor, and returns false
. If no match is found and there is no default functor, throws an RWTHRInternalError exception.
RWTFunctorR1<SR, S1> RWTFunctorMapR2< SR, Key, S1 >::getDefault | ( | void | ) | const |
Returns the map's default functor.
SR RWTFunctorMapR2< SR, Key, S1 >::operator() | ( | Key | key, |
S1 | s1 | ||
) | const |
Invokes the functor in the map that is associated with a key equivalent to the given key. If there is no matching key, and a default functor has been set, calls the default. If there is no default and no matching key, throws an RWTHRInternalError exception.
RWTFunctorMapR2<SR, Key, S1>& RWTFunctorMapR2< SR, Key, S1 >::operator= | ( | const RWTFunctorMapR2< SR, Key, S1 > & | second | ) |
Assignment operator. Binds this functor map instance to the representation of the second map instance.
bool RWTFunctorMapR2< SR, Key, S1 >::remove | ( | Key | key | ) |
Removes the entry, if it exists, with a key equivalent to the given key, and returns true
. If no such entry exists, returns false
.
void RWTFunctorMapR2< SR, Key, S1 >::resize | ( | size_t | size | ) |
Changes the size of the map to size. This is an expensive operation, since the entire map must be re-created. Size can be set at construction time via the size
parameter of the constructor.
void RWTFunctorMapR2< SR, Key, S1 >::setDefault | ( | RWTFunctorR1< SR, S1 > | functor | ) |
Sets functor as the default functor. This functor is used when an invalid key is provided to access the functor map.
Copyright © 2023 Rogue Wave Software, Inc., a Perforce company. All Rights Reserved. |