⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rsmbmusicaplibset.inl

📁 索爱手机代码
💻 INL
📖 第 1 页 / 共 2 页
字号:
        iCmp( *aPos, aVal )  &&
        (aPos == End() - 1  ||  !iCmp( aVal, *(aPos+1) )  &&  iCmp(*(aPos+1), aVal)))
        return iVec.InsertL( Vec::iterator(const_cast<pointer>(aPos.Base())), aVal );
    return InsertL( aVal ).iFirst;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::InsertL()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
template<typename InputIterator>
inline void RSmbMusicAPLibSet<K, C, DP>::InsertL( InputIterator aFirst, InputIterator aLast )
    {
    for (; aFirst != aLast; ++aFirst)
        InsertL( *aFirst );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Erase()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline void RSmbMusicAPLibSet<K, C, DP>::Erase( iterator aPos )
    {
    iVec.Erase( Vec::iterator(const_cast<pointer>(aPos.Base())) );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Erase()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline typename RSmbMusicAPLibSet<K, C, DP>::size_type RSmbMusicAPLibSet<K, C, DP>::Erase( const key_type& aVal )
    {
    iterator i = Find( aVal );
    if (i == End())
        return 0;
    Erase( i );
    return 1;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Erase()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline void RSmbMusicAPLibSet<K, C, DP>::Erase( iterator aFirst, iterator aLast )
    {
    iVec.Erase( Vec::iterator(const_cast<pointer>(aFirst.Base())), Vec::iterator(const_cast<pointer>(aLast.Base())) );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Clear()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline void RSmbMusicAPLibSet<K, C, DP>::Clear()
    {
    iVec.Clear();
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Find()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
template<typename KT>
inline typename RSmbMusicAPLibSet<K, C, DP>::iterator RSmbMusicAPLibSet<K, C, DP>::Find( const KT& aVal ) const
    {
    iterator i = Lower_bound( aVal );
    return (i != End() && iCmp(aVal, *i)) ? End() : i;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Count()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline typename RSmbMusicAPLibSet<K, C, DP>::size_type RSmbMusicAPLibSet<K, C, DP>::Count( const key_type& aVal ) const
    {
    return Find( aVal ) != End() ? 1 : 0;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Lower_bound()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline typename RSmbMusicAPLibSet<K, C, DP>::iterator RSmbMusicAPLibSet<K, C, DP>::Lower_bound( const key_type& aVal ) const
    {
    return MUSICAPLIB_NAMESPACE::Lower_bound( Begin(), End(), aVal, iCmp );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Upper_bound()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline typename RSmbMusicAPLibSet<K, C, DP>::iterator RSmbMusicAPLibSet<K, C, DP>::Upper_bound( const key_type& aVal ) const
    {
    return MUSICAPLIB_NAMESPACE::Upper_bound( Begin(), End(), aVal, iCmp );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Equal_range()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TSmbMusicAPLibPair<typename RSmbMusicAPLibSet<K, C, DP>::iterator, typename RSmbMusicAPLibSet<K, C, DP>::iterator> RSmbMusicAPLibSet<K, C, DP>::Equal_range( const key_type& aVal ) const
    {
    return MUSICAPLIB_NAMESPACE::Equal_range( Begin(), End(), aVal, iCmp );
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::CloneLC()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline RSmbMusicAPLibSet<K, C, DP>* RSmbMusicAPLibSet<K, C, DP>::CloneLC() const
    {
    RSmbMusicAPLibSet* clone = new(ELeave) RSmbMusicAPLibSet( *this );
    CleanupDeletePushL( clone );
    return clone;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::Release()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline void RSmbMusicAPLibSet<K, C, DP>::Release()
    {
    iVec.Release();
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator==()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator==( const RSmbMusicAPLibSet& aRhs ) const
    {
    return iVec == aRhs.iVec;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator!=()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator!=( const RSmbMusicAPLibSet& aRhs ) const
    {
    return !(*this == aRhs);
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator<()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator<( const RSmbMusicAPLibSet& aRhs ) const
    {
    return iVec < aRhs.iVec;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator>()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator>( const RSmbMusicAPLibSet& aRhs ) const
    {
    return aRhs < *this;
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator<=()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator<=( const RSmbMusicAPLibSet& aRhs ) const
    {
    return !(aRhs < *this);
    }

// ----------------------------------------------------------------------------
//  RSmbMusicAPLibSet::operator>=()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline TBool RSmbMusicAPLibSet<K, C, DP>::operator>=( const RSmbMusicAPLibSet& aRhs ) const
    {
    return !(*this < aRhs);
    }

// ----------------------------------------------------------------------------
//  Swap()
// ----------------------------------------------------------------------------
template<typename K, class C, class DP>
inline void Swap( RSmbMusicAPLibSet<K, C, DP>& aLhs, const RSmbMusicAPLibSet<K, C, DP>& aRhs )
    {
    aLhs.Swap( aRhs );
    }

MUSICAPLIB_NAMESPACE_END
SEMCJ_NAMESPACE_END

/* Copyright (C) 2006 Sony Ericsson Mobile Communications Japan, Inc. */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -