explored_children(num_threads),
backtrack(num_threads),
numBacktracks(0),
- may_read_from(NULL)
+ may_read_from()
{
if (act)
act->set_node(this);
- if (act && act->is_read())
- may_read_from = new action_set_t();
}
/** @brief Node desctructor */
printf("******** empty action ********\n");
}
+/** @brief Prints info about may_read_from set */
+void Node::print_may_read_from()
+{
+ readfrom_set_t::iterator it;
+ for (it = may_read_from.begin(); it != may_read_from.end(); it++)
+ (*it)->print();
+}
+
/**
* Checks if the Thread associated with this thread ID has been explored from
* this Node already.
* Add an action to the may_read_from set.
* @param act is the action to add
*/
-void Node::add_read_from(ModelAction *act)
+void Node::add_read_from(const ModelAction *act)
{
- ASSERT(may_read_from);
- may_read_from->insert(act);
+ may_read_from.push_back(act);
}
void Node::explore(thread_id_t tid)