X-Git-Url: http://deadsoftware.ru/gitweb?a=blobdiff_plain;f=alien.h;h=9f061dc412224be3e1236b94191afb3b54ee5faa;hb=e2fd5debfd8b94a6ec77a514962851594f0690f0;hp=0c4b51dd4e810eb0c52b175a26469cb0e146c999;hpb=32b22b42cd974e98e8a56f5ac39a51c8990ef57c;p=odcread.git diff --git a/alien.h b/alien.h index 0c4b51d..9f061dc 100644 --- a/alien.h +++ b/alien.h @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -14,6 +15,7 @@ namespace odc { */ struct AlienComponent { virtual std::string toString() = 0; + virtual void accept(Visitor &visitor) const = 0; }; /** @@ -26,17 +28,19 @@ struct AlienPiece : public AlienComponent { AlienPiece(const char * const data, const size_t len); virtual std::string toString(); + virtual void accept(Visitor &visitor) const; }; /** * Store component of an alien store */ struct AlienPart : public AlienComponent { - Store * const store; + Store * const d_store; - AlienPart(Store * const _store); + AlienPart(Store * const store); virtual std::string toString(); + virtual void accept(Visitor &visitor) const; }; class Alien : public Store { @@ -54,6 +58,7 @@ class Alien : public Store { // comps-: AlienComp (** the constituent components of this alien store **) virtual std::string toString(); + virtual void accept(Visitor &visitor) const; }; }