00001 #include "Forest.h" 00002 00003 namespace Moses 00004 { 00005 namespace Syntax 00006 { 00007 namespace F2S 00008 { 00009 00010 Forest::~Forest() 00011 { 00012 Clear(); 00013 } 00014 00015 void Forest::Clear() 00016 { 00017 for (std::vector<Vertex *>::iterator p = vertices.begin(); 00018 p != vertices.end(); ++p) { 00019 delete *p; 00020 } 00021 vertices.clear(); 00022 } 00023 00024 Forest::Vertex::~Vertex() 00025 { 00026 for (std::vector<Hyperedge *>::iterator p = incoming.begin(); 00027 p != incoming.end(); ++p) { 00028 delete *p; 00029 } 00030 } 00031 00032 } // F2S 00033 } // Syntax 00034 } // Moses