/// Evaluates whether \c this and \c rhs are equivalent
        ss_bool_t equal(class_type const& rhs) const
        {
            STLSOFT_MESSAGE_ASSERT("Comparing iterators from different tokenisers", m_end == rhs.m_end);

            return m_find0 == rhs.m_find0;
        }
Example #2
0
 /// Constructor
 ///
 /// \param s The C-string for which this instance will act as a range
 cstring_range(value_type const* s)
     : m_s(s)
 {
     STLSOFT_MESSAGE_ASSERT("NULL string passed to cstring_range constructor", NULL != s);
 }
Example #3
0
    /// Returns the element at the given index
    ///
    /// \param index The offset of the requested element
    /// \note No runtime checking of the validity of the index is provided in release builds, only a debug-time assert
    reference operator [](ss_size_t index)
    {
        STLSOFT_MESSAGE_ASSERT("index out of bounds, in array_proxy", !(size() < index));

        return m_begin[index];
    }
Example #4
0
    /// Returns the element at the given index
    ///
    /// \param index The offset of the requested element
    /// \note No runtime checking of the validity of the index is provided in release builds, only a debug-time assert
    const_reference operator [](ss_size_t index) const
    {
        STLSOFT_MESSAGE_ASSERT("index out of bounds, in array_proxy", !(size() < index));

        return const_cast<pointer>(m_begin)[index];
    }
Example #5
0
    /// Returns the current value in the range
    value_type current() const
    {
        STLSOFT_MESSAGE_ASSERT("Attempting to access the value of a closed range", is_open());

        return m_value;
    }