$INCLUDE

Each $INCLUDE becomes an #include in the header, after the standard headers mstring needs itself (see Files & layout). The header must make every parameter type, base class and macro used in the message file resolvable.

$INCLUDE <iomanip>          # std::setw in a macro format
$INCLUDE "Exception.hh"     # a base class

A quoted include resolves next to the generated header first — when the header is installed next to the file it includes, that is what you want.

$USING

Each $USING becomes a using …; line in the header, inside the $NAMESPACE, before the declarations: parameter types may rely on it, and it does not leak into the global scope of every file that includes the header (unless there is no $NAMESPACE).

$NAMESPACE app
$USING std::string
$MESSAGE Hello
@ who string const &