X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=alien.cc;h=dc4f50920c7d61d30bec5744a7bba9e8ccacd018;hb=149d7ca4cf84c3c9b7eb55b02d6b152fb00894bf;hp=49d19fe5c9b06829bdc8deac3a688890da957b78;hpb=1a188eff533fe10218eaec174755abe1f19dfdde;p=odcread.git diff --git a/alien.cc b/alien.cc index 49d19fe..dc4f509 100644 --- a/alien.cc +++ b/alien.cc @@ -8,15 +8,24 @@ std::string AlienPiece::toString() { return std::string("AlienPiece"); } -AlienPart::AlienPart(Store * const _store): store(_store) {} +void AlienPiece::accept(Visitor &visitor) const { +} + +AlienPart::AlienPart(Store * const store): d_store(store) {} std::string AlienPart::toString() { - if (store != 0) - return store->toString(); + if (d_store != 0) + return d_store->toString(); else return "NULL"; } +void AlienPart::accept(Visitor &visitor) const { + if (d_store != 0) { + d_store->accept(visitor); + } +} + Alien::Alien(INTEGER id, const TypePath &path): Store(id), d_path(path), d_comps() {} std::vector & Alien::getComponents() { @@ -31,4 +40,10 @@ std::string Alien::toString() { return sofar + "}"; } +void Alien::accept(Visitor &visitor) const { + for (int i = 0; i < d_comps.size(); ++i) { + d_comps[i]->accept(visitor); + } +} + }