/**
* Gets the STL compatible iterator referring to the first element in the IList instance.
*
+ * @brief <i> [Deprecated] </i>
+ * @deprecated This method is deprecated to support mutation algorithm requiring non-const pointer.
* @since 2.1
*
* @return An IteratorT instance
template< typename T >
static IteratorT< T > GetBeginIterator(const IList* pList)
{
+ return GetBeginIterator< T >(const_cast< IList* >(pList));
+ }
+
+ /**
+ * Gets the STL compatible iterator referring to the first element in the IList instance.
+ *
+ * @since 3.0
+ *
+ * @return An IteratorT instance
+ * @param[in] pList A pointer to the IList instance to convert
+ * @remarks This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+ */
+ template< typename T >
+ static IteratorT< T > GetBeginIterator(IList* pList)
+ {
return IteratorT< T >(*pList);
}
/**
* Gets the STL compatible iterator referring to the post-end element in the IList instance.
*
+ * @brief <i> [Deprecated] </i>
+ * @deprecated This method is deprecated to support mutation algorithm requiring non-const pointer.
* @since 2.1
*
* @return An IteratorT instance
template< typename T >
static IteratorT< T > GetEndIterator(const IList* pList)
{
+ return GetEndIterator< T >(const_cast< IList* >(pList));
+ }
+
+ /**
+ * Gets the STL compatible iterator referring to the post-end element in the IList instance.
+ *
+ * @since 3.0
+ *
+ * @return An IteratorT instance
+ * @param[in] pList A pointer to the IList instance to convert
+ * @remarks This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+ */
+ template< typename T >
+ static IteratorT< T > GetEndIterator(IList* pList)
+ {
return IteratorT< T >(*pList, true);
}
/**
* Gets the STL compatible random iterator referring to the first element in the IList instance.
*
+ * @brief <i> [Deprecated] </i>
+ * @deprecated This method is deprecated to support mutation algorithm requiring non-const pointer.
* @since 2.1
*
* @return A RandomIteratorT instance
template< typename T >
static RandomIteratorT< T > GetBeginRandomIterator(const IList* pList)
{
+ return GetBeginRandomIterator< T >(const_cast< IList* >(pList));
+ }
+
+ /**
+ * Gets the STL compatible random iterator referring to the first element in the IList instance.
+ *
+ * @since 3.0
+ *
+ * @return A RandomIteratorT instance
+ * @param[in] pList A pointer to the IList instance to convert
+ * @remarks This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+ */
+ template< typename T >
+ static RandomIteratorT< T > GetBeginRandomIterator(IList* pList)
+ {
return RandomIteratorT< T >(*pList, 0);
}
/**
* Gets the STL compatible random iterator referring to the post-end element in the IList instance.
*
+ * @brief <i> [Deprecated] </i>
+ * @deprecated This method is deprecated to support mutation algorithm requiring non-const pointer.
* @since 2.1
*
* @return A RandomIteratorT instance
template< typename T >
static RandomIteratorT< T > GetEndRandomIterator(const IList* pList)
{
+ return GetEndRandomIterator< T >(const_cast< IList* >(pList));
+ }
+
+ /**
+ * Gets the STL compatible random iterator referring to the post-end element in the IList instance.
+ *
+ * @since 3.0
+ *
+ * @return A RandomIteratorT instance
+ * @param[in] pList A pointer to the IList instance to convert
+ * @remarks This method does not take the ownership of the @c pList because the argument is a non-const pointer.
+ */
+ template< typename T >
+ static RandomIteratorT< T > GetEndRandomIterator(IList* pList)
+ {
return RandomIteratorT< T >(*pList, pList->GetCount());
}