libMesh/libmesh — pull request #68 by benkirk (2013-03-30 19:32:35+00:00)
Title: extend Dereks idea to initialization as well

This extends Derek's idea to singleton creation as well. Consider in remote_elem.C:

```c++
namespace
{
// Class to be dispatched by Singleton::setup()
// to create the \p RemoteElem singleton.
// While this actual object has file-level static
// scope and will be initialized before main(),
// importantly the setup() method will not be invoked
// until after main().
class RemoteElemSetup : public Singleton::Setup
{
void setup ()
{
RemoteElem::create();
}
} remote_elem_setup;
}
```
The Singleton now holds a list of such objects which are dynamically initialized from LibMeshInit by calling

```c++
Singleton::setup();
```