basic_utf8_ifstream

This object represents an input file stream much like the
normal std::ifstream except that it knows how to read UTF-8
data. So when you read characters out of this stream it will
automatically convert them from the UTF-8 multibyte encoding
into a fixed width wide character encoding.

There are also two typedefs of this object. The first is utf8_wifstream which is a
typedef for wchar_t as the wide character to read into. The second is utf8_uifstream
which uses unichar instead of wchar_t.

Extensions to cmd_line_parser

This extension provides a convenience function for accessing the
options to a command line argument or a config_reader. It
is automatically #included when using the command line parser or config reader.

cpp_pretty_printer

cpp_pretty_printer_kernel_1:
This is implemented by using the cpp_tokenizer object.
This is the pretty printer I use on all the source in this library. It applies a color scheme, turns
include directives such as #include "file.h" into links to file.h.html and puts HTML anchor points
on function and class declarations. It also looks for comments starting with /*!A and puts an anchor
before the comment using the word following the A as the name of the anchor.

kernel_1a

is a typedef for cpp_pretty_printer_kernel_1

cpp_pretty_printer_kernel_2:
This is implemented by using the cpp_tokenizer object.
It applies a black and white color scheme suitable
for printing on a black and white printer. It also places the document title
prominently at the top of the pretty printed source file.

strings_equal_ignore_case

string_assign

string_assign is an object which makes it easy to convert strings to
other types. The types supported are any types that can be read by the basic_istream operator>>. It
also supports casting between wstring, string, and ustring objects. Since
string_assign is a simple stateless object there is a global instance of it
called dlib::sa.

string_cast

string_cast is a templated function which makes it easy to convert strings to
other types. The types supported are any types that can be read by the basic_istream operator>>. It
also supports casting between wstring, string, and ustring objects.

xml_parser

This object represents a simple SAX style event driven XML parser.
It takes its input from an input stream object and sends events to all
registered document_handler and error_handler objects.

The xml_parser object also uses the interface classes
document_handler
and
error_handler.
Subclasses of these classes are passed to the xml_parser which generates events while it's
parsing and sends them to the appropriate handler.