xdress/xdress — pull request #126 by scopatz (2013-12-21 00:49:39+00:00)
Title: Refactored dtypes to their own generated module, out of stlwrap

This gets rid of one of the weirder parts of xdress where if for a type `t` you wanted to create a dtype you would actually have to tell xdress to wrap this a `vector` in the stlcontainers. This is inconvenient for C++ and just plain wrong for C. This PR rips out the logic for generating dtypes from stlwrap and puts it into an `xdress.dtypes` plugin. The stlwrap plugin now depends on dtypes.

This adds the following run control parameters:

```bash
dtypes : list of types to make dtypes for.
dtypes_module: Module name for numpy dtype wrappers.
make_dtypes : flag for making numpy dtype wrappers
```

This is backwards compatible for xdressrc.py files because if someone asks for `vector` all it does is add t to the dtypes list if not already present. Therefore in an an xdressrc.py file the following are equivalent:

```python
# using dtypes, new way
dtypes = ['float64']

# using vector, old way
stlcontainers = [('vector', 'float64')]
```

This is not backwards compatible in the sense that now folks will have to add the dtypes module to their build system. I think this is a fairly trivial requirement given the benefit.