Supported data types:
---------------------

{signed|unsigned} {char|short|int|long|long long}
float
double
std::string

std::list (one and two level only)
std::deque (one and two level only)
std::map (one level only)

* also reference and pointer to above types

About namespaces:
-----------------

From swig manual:...default wrapping behavior is to flatten namespaces
in the target language. This means that the contents of all namespaces
are merged together in the resulting scripting language module....

...Because namespaces are flattened, it is possible for symbols defined
in different namespaces to generate a name conflict in the target
language. To resolve this conflict, simply use %rename to disambiguate
the declarations....

