]> sigrok.org Git - pulseview.git/blobdiff - pv/view/viewitemiterator.hpp
Change namespace for the trace view and implement ViewBase
[pulseview.git] / pv / view / viewitemiterator.hpp
index 179de383965218d2b31321b96b67686ab424f316..403b196bfd4b8848eb9d65fd02d53320d8c71e72 100644 (file)
@@ -18,8 +18,8 @@
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
  */
 
-#ifndef PULSEVIEW_PV_VIEW_VIEWITEMITERATOR_HPP
-#define PULSEVIEW_PV_VIEW_VIEWITEMITERATOR_HPP
+#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMITERATOR_HPP
+#define PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMITERATOR_HPP
 
 #include <algorithm>
 #include <cassert>
 #include <pv/session.hpp>
 
 namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
 
 template<class Owner, class Item> class ViewItemIterator
 {
 public:
-       typedef typename std::conditional<std::is_const<Owner>::value,
-               typename Owner::item_list::const_iterator,
-               typename Owner::item_list::iterator>::type child_iterator;
-
+       typedef typename Owner::item_list::const_iterator child_iterator;
        typedef std::shared_ptr<Item> value_type;
        typedef ptrdiff_t difference_type;
        typedef value_type pointer;
-       typedef value_type& reference;
+       typedef const value_type& reference;
        typedef std::forward_iterator_tag iterator_category;
 
 public:
@@ -126,7 +124,8 @@ void swap(ViewItemIterator<Owner, Item>& a, ViewItemIterator<Owner, Item>& b)
        a.swap(b);
 }
 
-} // namespace view
+} // namespace TraceView
+} // namespace views
 } // namespace pv
 
-#endif // PULSEVIEW_PV_VIEW_VIEWITEMITERATOR_HPP
+#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_VIEWITEMITERATOR_HPP