namespace Msp {
namespace DataFile {
+Loader::Loader():
+ cur_st(0),
+ allow_pointer_reload(true),
+ check_sub_loads(false)
+{ }
+
Loader::~Loader()
{
for(ActionMap::iterator i = actions.begin(); i!=actions.end(); ++i)
{
LoaderAction *act = find_action(ActionKey(st.keyword, st.get_signature()));
if(act)
+ {
+ sub_loaded = false;
act->execute(*this, st);
+ if(check_sub_loads && !st.sub.empty() && !sub_loaded)
+ throw Exception("Substatements were not loaded");
+ }
}
catch(Exception &e)
{
throw InvalidState("load_sub called without current statement");
ldr.load(*cur_st);
+ sub_loaded = true;
}
void Loader::add(const string &kwd, LoaderAction *act)