From fdfb946d63bcc3e6bd51992033a305b9526e92a8 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Wed, 6 Oct 2010 03:22:58 +0200 Subject: [PATCH] preparation to allow explicit type bindings for iter-adapter --- src/lib/iter-adapter.hpp | 22 +++++++++++----------- src/proc/mobject/session/scope.cpp | 2 +- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/src/lib/iter-adapter.hpp b/src/lib/iter-adapter.hpp index cbbe7ac57..93944288f 100644 --- a/src/lib/iter-adapter.hpp +++ b/src/lib/iter-adapter.hpp @@ -98,7 +98,7 @@ namespace lib { * to handle tricky situations (like const_reverse_iter) */ template - struct IterTraits + struct TypeBinding { typedef typename TY::pointer pointer; typedef typename TY::reference reference; @@ -106,7 +106,7 @@ namespace lib { }; template - struct IterTraits + struct TypeBinding { typedef TY value_type; typedef TY& reference; @@ -114,7 +114,7 @@ namespace lib { }; template - struct IterTraits + struct TypeBinding { typedef TY value_type; typedef const TY& reference; @@ -124,7 +124,7 @@ namespace lib { using mobject::session::Scope; template<> - struct IterTraits::const_reverse_iterator> + struct TypeBinding::const_reverse_iterator> { typedef const Scope value_type; typedef Scope const& reference; @@ -164,7 +164,7 @@ namespace lib { * -# it should be copy constructible * -# when IterAdapter is supposed to be assignable, then POS should be * -# it should provide embedded typedefs for pointer, reference and value_type, - * or alternatively resolve these types through a specialisation of IterTraits. + * or alternatively resolve these types through specialisation of iter::TypeBinding. * -# it should be convertible to the pointer type it declares * -# dereferencing should yield a type that is convertible to the reference type * - CON points to the data source of this iterator (typically a data container type) @@ -183,9 +183,9 @@ namespace lib { mutable POS pos_; public: - typedef typename iter::IterTraits::pointer pointer; - typedef typename iter::IterTraits::reference reference; - typedef typename iter::IterTraits::value_type value_type; + typedef typename iter::TypeBinding::pointer pointer; + typedef typename iter::TypeBinding::reference reference; + typedef typename iter::TypeBinding::value_type value_type; IterAdapter (CON src, POS const& startpos) : source_(src) @@ -318,9 +318,9 @@ namespace lib { IT e_; public: - typedef typename iter::IterTraits::pointer pointer; - typedef typename iter::IterTraits::reference reference; - typedef typename iter::IterTraits::value_type value_type; + typedef typename iter::TypeBinding::pointer pointer; + typedef typename iter::TypeBinding::reference reference; + typedef typename iter::TypeBinding::value_type value_type; RangeIter (IT const& start, IT const& end) : p_(start) diff --git a/src/proc/mobject/session/scope.cpp b/src/proc/mobject/session/scope.cpp index b10df0982..d53dd153d 100644 --- a/src/proc/mobject/session/scope.cpp +++ b/src/proc/mobject/session/scope.cpp @@ -44,7 +44,7 @@ namespace iter{ // using mobject::session::Scope; // // template<> -// struct IterTraits::const_reverse_iterator> +// struct TypeBinding::const_reverse_iterator> // { // typedef const Scope value_type; // typedef Scope const& reference;