X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsupport%2Flimited_stack.h;h=b17eeae19dbca92efecaedff761a8f40d73d8744;hb=8d640dc77608bedddb5b00982c23665584f52d21;hp=f56d0c3ca621f430f9f1f80691c00254c0ce2259;hpb=525259940d40d08d3911e8b055f9e3a546267504;p=lyx.git diff --git a/src/support/limited_stack.h b/src/support/limited_stack.h index f56d0c3ca6..b17eeae19d 100644 --- a/src/support/limited_stack.h +++ b/src/support/limited_stack.h @@ -6,7 +6,7 @@ * * \author John Levon * - * Full author contact details are available in file CREDITS + * Full author contact details are available in file CREDITS. */ #ifndef LIMITED_STACK_H @@ -14,6 +14,9 @@ #include + +namespace lyx { + /** * limited_stack - A stack of limited size. * @@ -26,6 +29,7 @@ public: typedef std::deque container_type; typedef typename container_type::value_type value_type; typedef typename container_type::size_type size_type; + typedef typename container_type::const_iterator const_iterator; /// limit is the maximum size of the stack limited_stack(size_type limit = 100) { @@ -33,7 +37,7 @@ public: } /// Return the top element. - value_type top() { + value_type & top() { return c_.front(); } @@ -70,6 +74,15 @@ public: size_type size() const { return c_.size(); } + + const_iterator begin() const { + return c_.begin(); + } + + const_iterator end() const { + return c_.end(); + } + private: /// Internal contents. container_type c_; @@ -81,4 +94,7 @@ private: template class limited_stack; + +} // namespace lyx + #endif // LIMITED_STACK_H