- Separate template definition from template declaration
- Explicitly instantiate Singleton templates to be exported from libbackend.so - Install only header files that are backend interfaces to be exposed to the user - Don't use full path for including templates in header files - Instantiate a couple of smart_ptr templates to have their symbols exported outside the DSO. This happens in history.cc. FIXME: the interface for History will definitely need to be reworked, and the two smart_ptr explicit instantiations removed. - Change SWIG exported interface to make use of Schedulable instead of (Dynamic|Static)Schedulable - Fix provided policies to make use of the new interface - TODO: limit the use of smart_ptrs. git-svn-id: svn://svn.gna.org/svn/sgpemv2/trunk@653 3ecf2c5c-341e-0410-92b4-d18e462d057c
This commit is contained in:
parent
56db7cd6a2
commit
66d46db357
37 changed files with 153 additions and 145 deletions
|
@ -24,12 +24,16 @@
|
|||
#include "policies_gatekeeper.hh"
|
||||
#include "user_interrupt_exception.hh"
|
||||
|
||||
// Do not include full template definition in the header file
|
||||
#include "singleton.tcc"
|
||||
|
||||
#include <iostream>
|
||||
using namespace std;
|
||||
using namespace sgpem;
|
||||
using namespace memory;
|
||||
|
||||
Scheduler* Scheduler::_instance = NULL;
|
||||
// Explicit template instantiation to allow to export symbols from the DSO.
|
||||
template class SG_DLLEXPORT Singleton<Scheduler>;
|
||||
|
||||
//private constructor. The parameter is discarded
|
||||
Scheduler::Scheduler()
|
||||
|
@ -207,10 +211,3 @@ Scheduler::step_forward() throw(UserInterruptException)
|
|||
}
|
||||
}
|
||||
|
||||
Scheduler&
|
||||
Scheduler::get_instance()
|
||||
{
|
||||
if(_instance == NULL)
|
||||
_instance = new Scheduler();
|
||||
return *_instance;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue