00001 //============================================================================== 00002 // Copyright (c) 2001 Model-based Embedded and Robotic Systems Group 00003 // All Rights Reserved Massachusetts Institute of Technology 00004 // 00005 // This software is provided as is. Model-based Embedded and Robotic Systems 00006 // (MERS) group does not assume any responsibility. 00007 //============================================================================== 00008 //# CHECKED MJP 08-07-2002 00009 00010 #ifndef __ASSIGNMENTCHAIN__ 00011 #define __ASSIGNMENTCHAIN__ 00012 00013 #ifdef _MSC_VER 00014 #pragma warning( disable : 4786 ) 00015 #endif 00016 00017 #include <cstdlib> 00018 #include <iostream> 00019 #include <list> 00020 00021 class Assignment; 00022 00023 namespace Mers { 00024 namespace Generators { 00025 namespace BFIG { 00026 00030 class AssignmentChain 00031 { 00032 public: 00033 //---------------------------------------------------- 00034 // TYPE DEFINITIONS & OVERLOADED OPERATORS 00035 //---------------------------------------------------- 00036 00037 //---------------------------------------------------- 00038 // CONSTRUCTOR 00039 //---------------------------------------------------- 00040 AssignmentChain(); 00041 AssignmentChain(Assignment const * node, AssignmentChain const * rest); 00042 00043 //---------------------------------------------------- 00044 // PUBLIC METHODS 00045 //---------------------------------------------------- 00046 Assignment const * getAssignment() const; 00047 AssignmentChain const * getAncestors() const; 00048 std::list<Assignment const *> combineAssignments() const; 00049 //# iterator? 00050 00051 private: 00052 //---------------------------------------------------- 00053 // PRIVATE DATA MEMBERS 00054 //---------------------------------------------------- 00055 00056 Assignment const * curAssignment; 00057 00058 AssignmentChain const * restAssignments; 00059 00060 //---------------------------------------------------- 00061 // PRIVATE METHODS 00062 //---------------------------------------------------- 00063 }; 00064 } 00065 } 00066 } 00067 00068 #endif //ndef __ASSIGNMENTCHAIN__ 00069
1.5.0