| 2834 | /// @brief Abstract IterableContainer template that provides interface for iterable classes of type T |
| 2835 | template <typename T, typename Container> |
| 2836 | class IterableContainer { |
| 2837 | public: |
| 2838 | typedef typename Container::iterator iterator; |
| 2839 | typedef typename Container::const_iterator const_iterator; |
| 2840 | IterableContainer(void) {} |
| 2841 | virtual ~IterableContainer(void) {} |
| 2842 | iterator begin(void) { |
| 2843 | return getContainer().begin(); |
| 2844 | } |
| 2845 | iterator end(void) { |
| 2846 | return getContainer().end(); |
| 2847 | } |
| 2848 | private: |
| 2849 | virtual Container& getContainer(void) = 0; |
| 2850 | }; |
| 2851 | /// @brief Implements IterableContainer and provides iterable std::priority_queue class |
| 2852 | template<typename T, typename Container = std::vector<T>, typename Comparator = std::less<typename Container::value_type>> |
| 2853 | class IterablePriorityQueue : public IterableContainer<T, Container>, |
nothing calls this directly
no outgoing calls
no test coverage detected