In response to your first question, about submission to boost:
The work you will have to do to get your library to the point of submission (assuming there's sufficient interest -- ask on the boost mailing list) includes:
- provide documentation in a manner consistent with boost's style and infrastructure
- ditto for tests
- ditto for build scripts
- modifying your code to use boost's portability macros/conventions
- getting it to build and perform well on platforms that you may have little or no experience with. I'm almost certain that you will be required to provide a version that builds cleanly on POSIX systems such as Linux and OS X.
Libraries undergoing submission are assigned a review manager. At some point, your library will be reviewed publicly on the boost mailing list. It can take quite a long time, depending on interest, to get your library through the review backlog.
Once the review starts, a lot of people will tear your code apart, often with little or no tact. So make sure you're comfortable with criticism. Revisions will probably have to be made to what you have now until people are satisfied. I haven't looked at your code, it's just what usually happens.
Assuming submission is successful, you will have to maintain your library for the foreseeable future. This will probably mean:
- familiarizing yourself with boost's release process
- responding to bug reports, even those where you don't have access to a similar system to that of the reporter. Of course, this is true wherever you 'publish' your code, but the exposure provided by boost will mean more bugs reported (even if they're invalid).
- there's talk on the mailing list of boost moving to a new version control/modularization/distribution system soon, too. So you will almost certainly have more maintenance work to do in future.
- More generally, you will have to stay up to date with boost's infrastructure changes, just to keep your library's head above water.
Exposure is nice of course, but submission to boost isn't a one-shot thing.