📄 rsmbmusicaplibset.inl
字号:
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 + -