/* */ #ifndef _D_P_STRING_NUM_LOOP_H_ #define _D_P_STRING_NUM_LOOP_H_ #include "PStringDatum.h" #include "PStringSegment.h" #include "NumberDecorator.h" #include "PStringVisitor.h" namespace aria2 { class PStringNumLoop : public PStringDatum { private: unsigned int startValue_; unsigned int endValue_; unsigned int step_; SharedHandle numberDecorator_; SharedHandle next_; public: PStringNumLoop(unsigned int startValue, unsigned int endValue, unsigned int step, const SharedHandle& nd, const SharedHandle& next): startValue_(startValue), endValue_(endValue), step_(step), numberDecorator_(nd), next_(next) {} PStringNumLoop(unsigned int startValue, unsigned int endValue, unsigned int step, const SharedHandle& nd): startValue_(startValue), endValue_(endValue), step_(step), numberDecorator_(nd) {} virtual ~PStringNumLoop() {} virtual void accept(PStringVisitor& visitor) { visitor.visit(*this); } const SharedHandle& getNumberDecorator() const { return numberDecorator_; } SharedHandle getNext() const { return next_; } unsigned int getStartValue() const { return startValue_; } unsigned int getEndValue() const { return endValue_; } unsigned int getStep() const { return step_; } }; } // namespace aria2 #endif // _D_P_STRING_NUM_LOOP_H_