typedef bool (OptionManager::* OptionHandler)(const ABString& value);
Let's start with:
OptionManager::* OptionHandler
This says that ::* OptionHandler
is a member function of the class OptionManager
.
The *
in front of OptionHandler
says it's a pointer; this means OptionHandler
is a pointer to a member function of a class OptionManager
.
(const ABString& value)
says that the member function will take a value of type ABString
into a const reference.
bool
says that the member function will return a boolean type.
typedef
says that using "* OptionHandler" you can create many function pointers which can store that address of that function. For example:
OptionHandler fp[3];
fp[0], fp[1], fp[2]
will store the addresses of functions whose semantics match with the above explanation.