| /*============================================================================= |
| Boost.Wave: A Standard compliant C++ preprocessor library |
| |
| http://www.boost.org/ |
| |
| Copyright (c) 2001 Daniel C. Nuffer. |
| Copyright (c) 2001-2009 Hartmut Kaiser. |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| =============================================================================*/ |
| |
| #if !defined(AQ_HPP_A21D9145_B643_44C0_81E7_DB346DD67EE1_INCLUDED) |
| #define AQ_HPP_A21D9145_B643_44C0_81E7_DB346DD67EE1_INCLUDED |
| |
| #include <boost/wave/wave_config.hpp> |
| #include <cstdlib> |
| |
| // this must occur after all of the includes and before any code appears |
| #ifdef BOOST_HAS_ABI_HEADERS |
| #include BOOST_ABI_PREFIX |
| #endif |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| namespace boost { |
| namespace wave { |
| namespace cpplexer { |
| namespace re2clex { |
| |
| typedef std::size_t aq_stdelement; |
| |
| typedef struct tag_aq_queuetype |
| { |
| std::size_t head; |
| std::size_t tail; |
| std::size_t size; |
| std::size_t max_size; |
| aq_stdelement* queue; |
| } aq_queuetype; |
| |
| typedef aq_queuetype* aq_queue; |
| |
| int aq_enqueue(aq_queue q, aq_stdelement e); |
| int aq_enqueue_front(aq_queue q, aq_stdelement e); |
| int aq_serve(aq_queue q, aq_stdelement *e); |
| int aq_pop(aq_queue q); |
| #define AQ_EMPTY(q) (q->size == 0) |
| #define AQ_FULL(q) (q->size == q->max_size) |
| int aq_grow(aq_queue q); |
| |
| BOOST_WAVE_DECL aq_queue aq_create(void); |
| BOOST_WAVE_DECL void aq_terminate(aq_queue q); |
| |
| /////////////////////////////////////////////////////////////////////////////// |
| } // namespace re2clex |
| } // namespace cpplexer |
| } // namespace wave |
| } // namespace boost |
| |
| // the suffix header occurs after all of the code |
| #ifdef BOOST_HAS_ABI_HEADERS |
| #include BOOST_ABI_SUFFIX |
| #endif |
| |
| #endif // !defined(AQ_HPP_A21D9145_B643_44C0_81E7_DB346DD67EE1_INCLUDED) |