<commit_before>/*
 * Copyright(c) Sophist Solutions, Inc. 1990-2013.  All rights reserved
 */
#ifndef _Stroika_Foundation_Traversal_DelegatedIterator_inl_
#define _Stroika_Foundation_Traversal_DelegatedIterator_inl_

#include    "../Debug/Assertions.h"



namespace   Stroika {
    namespace   Foundation {
        namespace   Traversal {


            /*
             ********************************************************************************
             *********************** DelegatedIterator<T, EXTRA_DATA>::Rep ******************
             ********************************************************************************
             */
            template    <typename T, typename EXTRA_DATA>
            DelegatedIterator<T, EXTRA_DATA>::Rep::Rep (const Iterator<T>& delegateTo, const EXTRA_DATA& extraData)
                : fDelegateTo (delegateTo)
                , fExtraData (extraData)
            {
            }
            template    <typename T, typename EXTRA_DATA>
            typename    Iterator<T>::SharedIRepPtr   DelegatedIterator<T, EXTRA_DATA>::Rep::Clone () const
            {
                return SharedIRepPtr (new Rep (*this));
            }
            template    <typename T, typename EXTRA_DATA>
            void    DelegatedIterator<T, EXTRA_DATA>::Rep::More (Memory::Optional<T>* result, bool advance)
            {
                fDelegateTo.GetRep ().More (result, advance);
            }
            template    <typename T, typename EXTRA_DATA>
            bool    DelegatedIterator<T, EXTRA_DATA>::Rep::Equals (const IRep* rhs) const
            {
                return fDelegateTo.GetRep ().Equals (rhs);
            }
            template    <typename T>
            DelegatedIterator<T, void>::Rep::Rep (const Iterator<T>& delegateTo)
                : fDelegateTo (delegateTo)
            {
            }


            /*
             ********************************************************************************
             *********************** DelegatedIterator<T, EXTRA_DATA> ***********************
             ********************************************************************************
             */
            template    <typename T, typename EXTRA_DATA>
            DelegatedIterator<T, EXTRA_DATA>::DelegatedIterator (const Iterator<T>& delegateTo, const EXTRA_DATA& extraData)
                : Iterator<T> (SharedIRepPtr (new Rep (delegateTo, extraData)))
            {
            }


        }
    }
}
#endif /* _Stroika_Foundation_Traversal_DelegatedIterator_inl_ */
<commit_msg>minor tweaks for DelegatedIterator/gcc<commit_after>/*
 * Copyright(c) Sophist Solutions, Inc. 1990-2013.  All rights reserved
 */
#ifndef _Stroika_Foundation_Traversal_DelegatedIterator_inl_
#define _Stroika_Foundation_Traversal_DelegatedIterator_inl_

#include    "../Debug/Assertions.h"



namespace   Stroika {
    namespace   Foundation {
        namespace   Traversal {


            /*
             ********************************************************************************
             *********************** DelegatedIterator<T, EXTRA_DATA>::Rep ******************
             ********************************************************************************
             */
            template    <typename T, typename EXTRA_DATA>
            DelegatedIterator<T, EXTRA_DATA>::Rep::Rep (const Iterator<T>& delegateTo, const EXTRA_DATA& extraData)
                : fDelegateTo (delegateTo)
                , fExtraData (extraData)
            {
            }
            template    <typename T, typename EXTRA_DATA>
            typename    Iterator<T>::SharedIRepPtr   DelegatedIterator<T, EXTRA_DATA>::Rep::Clone () const
            {
                return SharedIRepPtr (new Rep (*this));
            }
            template    <typename T, typename EXTRA_DATA>
            void    DelegatedIterator<T, EXTRA_DATA>::Rep::More (Memory::Optional<T>* result, bool advance)
            {
                fDelegateTo.GetRep ().More (result, advance);
            }
            template    <typename T, typename EXTRA_DATA>
            bool    DelegatedIterator<T, EXTRA_DATA>::Rep::Equals (const IRep* rhs) const
            {
                return fDelegateTo.GetRep ().Equals (rhs);
            }
            template    <typename T>
            DelegatedIterator<T, void>::Rep::Rep (const Iterator<T>& delegateTo)
                : fDelegateTo (delegateTo)
            {
            }


            /*
             ********************************************************************************
             *********************** DelegatedIterator<T, EXTRA_DATA> ***********************
             ********************************************************************************
             */
            template    <typename T, typename EXTRA_DATA>
            DelegatedIterator<T, EXTRA_DATA>::DelegatedIterator (const Iterator<T>& delegateTo, const EXTRA_DATA& extraData)
                : Iterator<T> (typename Iterator<T>::SharedIRepPtr (new Rep (delegateTo, extraData)))
            {
            }


        }
    }
}
#endif /* _Stroika_Foundation_Traversal_DelegatedIterator_inl_ */

{'fraction_non_alphanumeric': 0.23319853649143077, 'fraction_numerical': 0.0030810706720585403, 'mean_word_length': 2.30828025477707, 'pattern_counts': {'":': 0, '<': 44, '<?xml version=': 0, '>': 44, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '3109327', 'n_tokens_mistral': 1322, 'n_tokens_neox': 1229, 'n_words': 244}