#include "node.h"
#define CCCC(X) X* X::clone(){X* ret=new X(*this);ret->deepify();cloneverify(this,ret);return ret;}
CCCC(AnyNode);
CCCC(AssignNode);
CCCC(AttackNode);
CCCC(BetweenNode);
CCCC(BeginVariationNode);
CCCC(CheckNode);
CCCC(ColorNode);
CCCC(CommentSet);
CCCC(CommentString);
CCCC(CountSquaresNode);
CCCC(CqlNode);
CCCC(EchoMaxDistanceSpec);
CCCC(EchoSourceDistanceSpec);
CCCC(EchoSumDistanceSpec);
CCCC(EchoTargetDistanceSpec);
CCCC(EchoLongestSubstringSpec);
CCCC(EchoNode);
CCCC(EchoSideToMoveSpec);
CCCC(EchoSquareSpec);
CCCC(EchoTransformSpec);
CCCC(EloNode);
CCCC(ExistsNode);
CCCC(ExtensionNode);
CCCC(EventNode);
CCCC(ForallNode);
CCCC(FutureNode);
CCCC(FutureStarNode);
CCCC(GameNumberNode);
CCCC(HolderConstituent);
CCCC(InMainlineNode);
CCCC(InVariationNode);
CCCC(InitialNode);
CCCC(KeywordNode);
CCCC(MatchCommentNode);
CCCC(MatchCountNode);
CCCC(MateNode);
CCCC(MovePastNode);
CCCC(MoveFutureNode);
CCCC(MoveLegalNode);
CCCC(MoveNumberNode);
CCCC(NotNode);
CCCC(OrNode);
CCCC(OnNode);
CCCC(OptionalConstituent);
CCCC(OriginNode);
CCCC(OutputNode);
CCCC(PastNode);
CCCC(PastStarNode);
CCCC(PgnNode);
CCCC(PieceIdNode);
CCCC(PieceLoc);
CCCC(PlayerNode);
CCCC(PlusConstituent);
CCCC(PositionNode);
CCCC(PowerNode);
CCCC(PowerDifferenceNode);
CCCC(RayNode);
CCCC(RepeatConstituent);
CCCC(ResultNode);
CCCC(SilentFeatureNode);
CCCC(SiteNode);
CCCC(StalemateNode);
CCCC(StarConstituent);
CCCC(TerminalNode);
CCCC(VariationsNode);
CCCC(VectorConstituent);
CCCC(VectorNode);
CCCC(YearNode);
;
