7 void MotorSet::set (const ustring& name) {
11 void MotorSet::unset (const ustring& name) {
12 MotorSet::iterator it = find (name);
17 bool MotorSet::get (const ustring& name) {
18 MotorSet::iterator it = find (name);
19 return (it != end ());
22 void MotorVar::setVar (const ustring& name, MNode* val) {
23 std::pair<MotorVar::iterator, bool> x;
25 x = insert (MotorVar::value_type (name, MNodePtr ()));
26 x.first->second = val;
29 MNode* MotorVar::getVar (const ustring& name) {
30 MotorVar::iterator it = find (name);
38 void MotorVar::eraseVar (const ustring& name) {
39 #ifdef HEAPDEBUG_VERBOSE
40 std::cerr << "MotorVar::eraseVar (" << name << ":(" << std::hex << getVar (name) << std::dec << ")";
41 getVar (name)->dump (std::cerr); // XXX
47 bool MotorVar::defined (const ustring& name) {
48 MotorVar::iterator it = find (name);
49 return (it != end ());
52 void MotorErrorVar::setVar (const ustring& name) {
54 insert (boost::unordered_map<ustring, bool>::value_type (name, true));
57 bool MotorErrorVar::getVar (const ustring& name) {
58 MotorErrorVar::iterator it = find (name);
66 void MotorVector::push (MNode* val) {
67 MNodePtr* p = new MNodePtr;
72 MNode* MotorVector::pop () {
74 MNode* ans = back () ();
82 MNode* MotorVector::get (size_type pos) {
91 void MotorVector::put (size_type pos, MNode* val) {
94 while (pos >= size ())
100 void MotorVector::unshift (MNode* val) {
104 for (size_t i = n - 1; i > 0; -- i) {
105 put (i, get (i - 1));
113 MNode* MotorVector::shift () {
116 MNode* ans = get (0);
117 for (size_t i = 1; i < n; ++ i) {
118 put (i - 1, get (i));