
/*
   This is the Trick STL manager.  The manager itself is a singleton.  A pointer
   is stored as sm in the STLManagerSimObject.

   (05/28/13)
   Trick STLs do not work on all platforms.
   Trick STLs work with gcc 4.4 on Linux.
   Trick STLs do not work with Apple clang/llvm 4.2.
 */
#ifndef STL_SM
#define STL_SM

##include "trick/STLManager.hh"

class STLManagerSimObject : public Trick::SimObject {
    public:
        Trick::STLManager * sm ; /* ** don't checkpoint the manager */
        STLManagerSimObject() {
            sm = Trick::STLManager::getSTLManager() ;
            ("checkpoint") sm->checkpoint() ;
            ("post_checkpoint") sm->post_checkpoint() ;
            ("restart") sm->restart() ;
        }
} ;

STLManagerSimObject trick_stl_mgr ;

#endif
