The header file 'boost/algorithm/hex.hpp'
contains three variants each of two algorithms, hex
and unhex. They are inverse
algorithms; that is, one undoes the effort of the other. hex
takes a sequence of values, and turns them into hexadecimal characters.
unhex takes a sequence of
hexadecimal characters, and outputs a sequence of values.

hex and unhex
come from MySQL, where they are used in database queries and stored procedures.

All of the variants of hex
and unhex take their parameters
by value or const reference, and do not depend upon any global state. Therefore,
all the routines in this file provide the strong exception guarantee. However,
when working on input iterators, if an exception is thrown, the input iterators
will not be reset to their original values (i.e, the characters read from
the iterator cannot be un-read)