/// Replace variables as needed void visit(VariableExpression& e) { VariablePtr vold(e.var()); OptimizerImplementation::VarMap::const_iterator v = p_vmap.find(vold->name()); BOOST_ASSERT(v != p_vmap.end()); VariablePtr vnew(v->second); BOOST_ASSERT(vold); BOOST_ASSERT(vnew); if (vold != vnew) { e.var(vnew); } }