The new C++ library makes heavy use of modern C++ features and the STL. Documenation should be completed soon. For right now please see the header files installed with the distribution (usually under /usr/local/include/aspell/). For examples of how to use the C++ please see the source for the aspell utility (located under src/aspell.cc)
I am also providing a C interface so that C programmers can use my library without a lot of hassle. Unfortunately because my actually library is C++ code there are several cravats to linking C to C++ code according to the C++FAQ Lite:
Unfortunately due to a major rewrite of the C++ library the C library is currently unavailable. I hope to have it back in a release or two.
Readonly Aspell methods and functions should be thread safe as long as exceptions, new, delete, delete[], and STL allocators are thread safe. To the best of my knowledge gcc and egcs meet these requirements. It is up to the programmer to make sure multiple threads do not do thing such as change the dictionaries and add or delete items from the personal or session dictionaries.