\label{section:kernel-data-structures}

\noindent
The BALL foundation classes are a collection of useful classes used throughout
the whole BALL kernel. The following sections shall help you to get acquainted
with some of the more important ones. The foundation classes can be broken down
into several categories:
\begin{itemize}
  \item general data structures (\eg strings, portable data types, hash
	containers)
  \item concepts (\eg management of properties, object persistence)
  \item mathematical data structures (\eg vectors, matrices, geometric
        primitives)
  \item system classes (file I/O, networking, logging)
  \item miscellaneous other stuff (plugins)
\end{itemize}
These classes implement a plethora of useful things, so you should just browse
through the reference manual to figure out which ones suit your needs. 

Some of the classes are of fundamental importance, so we will give a short
overview of their basics in the following sections. However, the total number
of classes is too large to cover here. Please have a look at the headers in 
\directory{BALL/include/BALL/COMMON|CONCEPT|SYSTEM|MATHS|DATATYPE} and the
BALL reference manual -- it's worth the time!
