The function register_callback() takes a function pointer as the first argument and an int
argument as the second. The int argument is passed as the third argument when a registered function
is called and can, for example, be used to identify an index for pword() to signal which member
of the array has to be processed. The argument strm that is passed to the callback function is the
ios_base object that caused the call to the callback function. The argument e identifies the reason
why the callback function was called. The reasons for calling the callback functions are listed in
Table 15.39