Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members | File Members

detail::List< FragmentT, ContainerT > Class Template Reference

#include <List.hpp>

List of all members.

Public Types

typedef FragmentT FragmentType
typedef ContainerT ContainerType
typedef FragmentType::SizeType FSizeType
typedef FragmentType::PayloadType PayloadType
typedef FragmentType::Traits Traits
typedef BadRange< FragmentTypeBadRangeException
typedef ContainerType::value_type ValueType
typedef ContainerType::pointer Pointer
typedef ContainerType::const_pointer ConstPointer
typedef ContainerType::reference Reference
typedef ContainerType::const_reference ConstReference
typedef ContainerType::iterator Iterator
typedef ContainerType::const_iterator ConstIterator
typedef ContainerType::reverse_iterator ReverseIterator
typedef ContainerType::const_reverse_iterator ConstReverseIterator
typedef ContainerType::size_type SizeType
typedef ContainerType::difference_type DifferenceType
typedef ValueType value_type
typedef Pointer pointer
typedef ConstPointer const_pointer
typedef Reference reference
typedef ConstReference const_reference
typedef Iterator iterator
typedef ConstIterator const_iterator
typedef ReverseIterator reverse_iterator
typedef ConstReverseIterator const_reverse_iterator
typedef SizeType size_type
typedef DifferenceType difference_type
typedef ::std::pair< Iterator,
Iterator
IteratorPair
typedef ::std::pair< ConstIterator,
ConstIterator
ConstIteratorPair

Public Member Functions

 List (FSizeType limit)
Iterator begin ()
ConstIterator begin () const
Iterator end ()
ConstIterator end () const
ReverseIterator rbegin ()
ConstReverseIterator rbegin () const
ReverseIterator rend ()
ConstReverseIterator rend () const
SizeType size () const
FSizeType limit () const
FSizeType sumLength () const
FSizeType missing () const
bool empty () const
void clear ()
FSizeType insert (const FragmentType &insertFragment)
template<typename InputIterator>
FSizeType insert (InputIterator first, InputIterator last)
FSizeType insert (Iterator where, const FragmentType &insertFragment)
FSizeType erase (const FragmentType &eraseFragment)
template<typename InputIterator>
FSizeType erase (InputIterator first, InputIterator last)
void erase (Iterator where)
void swap (List &rhs)
Iterator lowerBound (const FragmentType &match)
ConstIterator lowerBound (const FragmentType &match) const
Iterator upperBound (const FragmentType &match)
ConstIterator upperBound (const FragmentType &match) const
IteratorPair equalRange (const FragmentType &match)
ConstIteratorPair equalRange (const FragmentType &match) const
Iterator lower_bound (const FragmentType &match)
ConstIterator lower_bound (const FragmentType &match) const
Iterator upper_bound (const FragmentType &match)
ConstIterator upper_bound (const FragmentType &match) const
IteratorPair equal_range (const FragmentType &match)
ConstIteratorPair equal_range (const FragmentType &match) const
IteratorPair overlappingRange (const FragmentType &match)
ConstIteratorPair overlappingRange (const FragmentType &match) const

Private Attributes

ContainerType s_
FSizeType sumLength_
FSizeType upperLimit_

template<class FragmentT, class ContainerT>
class detail::List< FragmentT, ContainerT >


Member Typedef Documentation

template<class FragmentT, class ContainerT>
typedef BadRange< FragmentType > detail::List< FragmentT, ContainerT >::BadRangeException
 

Definition at line 39 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ConstIterator detail::List< FragmentT, ContainerT >::const_iterator
 

Definition at line 57 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ConstPointer detail::List< FragmentT, ContainerT >::const_pointer
 

Definition at line 53 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ConstReference detail::List< FragmentT, ContainerT >::const_reference
 

Definition at line 55 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ConstReverseIterator detail::List< FragmentT, ContainerT >::const_reverse_iterator
 

Definition at line 59 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::const_iterator detail::List< FragmentT, ContainerT >::ConstIterator
 

Definition at line 46 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ::std::pair< ConstIterator, ConstIterator > detail::List< FragmentT, ContainerT >::ConstIteratorPair
 

Definition at line 63 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::const_pointer detail::List< FragmentT, ContainerT >::ConstPointer
 

Definition at line 42 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::const_reference detail::List< FragmentT, ContainerT >::ConstReference
 

Definition at line 44 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::const_reverse_iterator detail::List< FragmentT, ContainerT >::ConstReverseIterator
 

Definition at line 48 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerT detail::List< FragmentT, ContainerT >::ContainerType
 

Definition at line 35 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef DifferenceType detail::List< FragmentT, ContainerT >::difference_type
 

Definition at line 61 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::difference_type detail::List< FragmentT, ContainerT >::DifferenceType
 

Definition at line 50 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef FragmentT detail::List< FragmentT, ContainerT >::FragmentType
 

Definition at line 34 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef FragmentType::SizeType detail::List< FragmentT, ContainerT >::FSizeType
 

Definition at line 36 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef Iterator detail::List< FragmentT, ContainerT >::iterator
 

Definition at line 56 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::iterator detail::List< FragmentT, ContainerT >::Iterator
 

Definition at line 45 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ::std::pair< Iterator, Iterator > detail::List< FragmentT, ContainerT >::IteratorPair
 

Definition at line 62 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef FragmentType::PayloadType detail::List< FragmentT, ContainerT >::PayloadType
 

Definition at line 37 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef Pointer detail::List< FragmentT, ContainerT >::pointer
 

Definition at line 52 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::pointer detail::List< FragmentT, ContainerT >::Pointer
 

Definition at line 41 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef Reference detail::List< FragmentT, ContainerT >::reference
 

Definition at line 54 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::reference detail::List< FragmentT, ContainerT >::Reference
 

Definition at line 43 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ReverseIterator detail::List< FragmentT, ContainerT >::reverse_iterator
 

Definition at line 58 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::reverse_iterator detail::List< FragmentT, ContainerT >::ReverseIterator
 

Definition at line 47 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef SizeType detail::List< FragmentT, ContainerT >::size_type
 

Definition at line 60 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::size_type detail::List< FragmentT, ContainerT >::SizeType
 

Definition at line 49 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef FragmentType::Traits detail::List< FragmentT, ContainerT >::Traits
 

Definition at line 38 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ValueType detail::List< FragmentT, ContainerT >::value_type
 

Definition at line 51 of file List.hpp.

template<class FragmentT, class ContainerT>
typedef ContainerType::value_type detail::List< FragmentT, ContainerT >::ValueType
 

Definition at line 40 of file List.hpp.


Constructor & Destructor Documentation

template<class FragmentT, class ContainerT>
detail::List< FragmentT, ContainerT >::List FSizeType  limit  )  [inline, explicit]
 

Definition at line 66 of file List.hpp.


Member Function Documentation

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::begin  )  const [inline]
 

Definition at line 78 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::begin  )  [inline]
 

Definition at line 77 of file List.hpp.

Referenced by CFragmentBar::DrawSource(), CFragmentBar::DrawSourceImpl(), CFragmentBar::DrawUpload(), CDownloadWithFile::GetAvailableRanges(), CDownloadWithFile::GetFragment(), CDownloadWithFile::GetPossibleFragments(), and CFilePreviewDlg::SetDownload().

template<class FragmentT, class ContainerT>
void detail::List< FragmentT, ContainerT >::clear  )  [inline]
 

Definition at line 93 of file List.hpp.

Referenced by CFragmentedFile::MakeComplete(), CDownloadTransferBT::OnBitfield(), CDownloadTransferED2K::OnFileStatus(), and CDownloadSource::SetAvailableRanges().

template<class FragmentT, class ContainerT>
bool detail::List< FragmentT, ContainerT >::empty  )  const [inline]
 

Definition at line 91 of file List.hpp.

Referenced by CUploadFile::AddFragment(), CFragmentBar::DrawSource(), CDownloadWithTiger::FinishValidation(), CDownloadWithFile::GetFragment(), CDownloadWithFile::GetPossibleFragments(), CDownloadSource::HasUsefulRanges(), CFragmentedFile::MakeComplete(), CDownloadTransferHTTP::OnHeaderLine(), CDownloadTransferED2K::SendFragmentRequests(), CDownloadTransferBT::SendRequests(), CDownloadWithTiger::SubtractHelper(), and VerifySelection().

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::end  )  const [inline]
 

Definition at line 80 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::end  )  [inline]
 

Definition at line 79 of file List.hpp.

Referenced by CFragmentBar::DrawSource(), CFragmentBar::DrawSourceImpl(), CFragmentBar::DrawUpload(), CDownloadWithTiger::FinishValidation(), CDownloadWithFile::GetAvailableRanges(), CDownloadWithFile::GetPossibleFragments(), CDownloadTransferBT::OnBitfield(), CDownloadTransferED2K::OnFileReqAnswer(), CDownloadTransferED2K::OnFileStatus(), and CFilePreviewDlg::SetDownload().

template<class FragmentT, class ContainerT>
ConstIteratorPair detail::List< FragmentT, ContainerT >::equal_range const FragmentType match  )  const [inline]
 

Definition at line 212 of file List.hpp.

template<class FragmentT, class ContainerT>
IteratorPair detail::List< FragmentT, ContainerT >::equal_range const FragmentType match  )  [inline]
 

Definition at line 208 of file List.hpp.

template<class FragmentT, class ContainerT>
ConstIteratorPair detail::List< FragmentT, ContainerT >::equalRange const FragmentType match  )  const [inline]
 

Definition at line 187 of file List.hpp.

template<class FragmentT, class ContainerT>
IteratorPair detail::List< FragmentT, ContainerT >::equalRange const FragmentType match  )  [inline]
 

Definition at line 183 of file List.hpp.

Referenced by detail::List< SimpleFragment >::equal_range(), and detail::List< SimpleFragment >::overlappingRange().

template<class FragmentT, class ContainerT>
void detail::List< FragmentT, ContainerT >::erase Iterator  where  )  [inline]
 

Definition at line 153 of file List.hpp.

template<class FragmentT, class ContainerT>
template<typename InputIterator>
FSizeType detail::List< FragmentT, ContainerT >::erase InputIterator  first,
InputIterator  last
[inline]
 

Definition at line 142 of file List.hpp.

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::erase const FragmentType eraseFragment  ) 
 

Referenced by detail::List< SimpleFragment >::erase(), CDownloadWithFile::GetPossibleFragments(), CDownloadWithTiger::SubtractHelper(), CDownloadTransferHTTP::SubtractRequested(), CDownloadTransferFTP::SubtractRequested(), CDownloadTransferED2K::SubtractRequested(), CDownloadTransferBT::SubtractRequested(), and CFragmentedFile::WriteRange().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::insert Iterator  where,
const FragmentType insertFragment
 

template<class FragmentT, class ContainerT>
template<typename InputIterator>
FSizeType detail::List< FragmentT, ContainerT >::insert InputIterator  first,
InputIterator  last
[inline]
 

Definition at line 115 of file List.hpp.

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::insert const FragmentType insertFragment  ) 
 

Referenced by CUploadFile::AddFragment(), CDownloadSource::AddFragment(), CFragmentedFile::Create(), CDownloadWithTiger::FinishValidation(), CEDPartImporter::ImportFile(), detail::List< SimpleFragment >::insert(), CFragmentedFile::InvalidateRange(), CDownloadTransferBT::OnBitfield(), CDownloadTransferED2K::OnFileReqAnswer(), CDownloadTransferED2K::OnFileStatus(), CDownloadTransferBT::OnHave(), and CDownloadSource::SetAvailableRanges().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::limit  )  const [inline]
 

Definition at line 88 of file List.hpp.

Referenced by CFragmentedFile::Create(), CDownloadWithFile::GetPossibleFragments(), CFragmentedFile::GetTotal(), CFragmentedFile::IsValid(), CFragmentedFile::MakeComplete(), detail::List< SimpleFragment >::missing(), CFragmentedFile::Open(), CFragmentedFile::Serialize(), and CDownloadSource::SetAvailableRanges().

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::lower_bound const FragmentType match  )  const [inline]
 

Definition at line 196 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::lower_bound const FragmentType match  )  [inline]
 

Definition at line 192 of file List.hpp.

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::lowerBound const FragmentType match  )  const [inline]
 

Definition at line 171 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::lowerBound const FragmentType match  )  [inline]
 

Definition at line 167 of file List.hpp.

Referenced by detail::List< SimpleFragment >::lower_bound().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::missing  )  const [inline]
 

Definition at line 90 of file List.hpp.

Referenced by CFragmentedFile::GetCompleted().

template<class FragmentT, class ContainerT>
ConstIteratorPair detail::List< FragmentT, ContainerT >::overlappingRange const FragmentType match  )  const [inline]
 

Definition at line 229 of file List.hpp.

template<class FragmentT, class ContainerT>
IteratorPair detail::List< FragmentT, ContainerT >::overlappingRange const FragmentType match  )  [inline]
 

Definition at line 219 of file List.hpp.

Referenced by VerifySelection(), and CFragmentedFile::WriteRange().

template<class FragmentT, class ContainerT>
ConstReverseIterator detail::List< FragmentT, ContainerT >::rbegin  )  const [inline]
 

Definition at line 82 of file List.hpp.

template<class FragmentT, class ContainerT>
ReverseIterator detail::List< FragmentT, ContainerT >::rbegin  )  [inline]
 

Definition at line 81 of file List.hpp.

template<class FragmentT, class ContainerT>
ConstReverseIterator detail::List< FragmentT, ContainerT >::rend  )  const [inline]
 

Definition at line 84 of file List.hpp.

template<class FragmentT, class ContainerT>
ReverseIterator detail::List< FragmentT, ContainerT >::rend  )  [inline]
 

Definition at line 83 of file List.hpp.

template<class FragmentT, class ContainerT>
SizeType detail::List< FragmentT, ContainerT >::size  )  const [inline]
 

Definition at line 87 of file List.hpp.

Referenced by CFragmentedFile::GetEmptyFragmentCount().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::sumLength  )  const [inline]
 

Definition at line 89 of file List.hpp.

Referenced by detail::List< SimpleFragment >::erase(), CFragmentedFile::GetRemaining(), CEDPartImporter::ImportFile(), detail::List< SimpleFragment >::insert(), and detail::List< SimpleFragment >::missing().

template<class FragmentT, class ContainerT>
void detail::List< FragmentT, ContainerT >::swap List< FragmentT, ContainerT > &  rhs  )  [inline]
 

Definition at line 160 of file List.hpp.

Referenced by CFragmentedFile::Clear(), CFragmentedFile::Create(), and CEDPartImporter::ImportFile().

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::upper_bound const FragmentType match  )  const [inline]
 

Definition at line 204 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::upper_bound const FragmentType match  )  [inline]
 

Definition at line 200 of file List.hpp.

template<class FragmentT, class ContainerT>
ConstIterator detail::List< FragmentT, ContainerT >::upperBound const FragmentType match  )  const [inline]
 

Definition at line 179 of file List.hpp.

template<class FragmentT, class ContainerT>
Iterator detail::List< FragmentT, ContainerT >::upperBound const FragmentType match  )  [inline]
 

Definition at line 175 of file List.hpp.

Referenced by detail::List< SimpleFragment >::upper_bound().


Member Data Documentation

template<class FragmentT, class ContainerT>
ContainerType detail::List< FragmentT, ContainerT >::s_ [private]
 

Definition at line 241 of file List.hpp.

Referenced by detail::List< SimpleFragment >::begin(), detail::List< SimpleFragment >::clear(), detail::List< SimpleFragment >::empty(), detail::List< SimpleFragment >::end(), detail::List< SimpleFragment >::equalRange(), detail::List< SimpleFragment >::erase(), detail::List< SimpleFragment >::lowerBound(), detail::List< SimpleFragment >::rbegin(), detail::List< SimpleFragment >::rend(), detail::List< SimpleFragment >::size(), detail::List< SimpleFragment >::swap(), and detail::List< SimpleFragment >::upperBound().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::sumLength_ [private]
 

Definition at line 242 of file List.hpp.

Referenced by detail::List< SimpleFragment >::clear(), detail::List< SimpleFragment >::erase(), detail::List< SimpleFragment >::sumLength(), and detail::List< SimpleFragment >::swap().

template<class FragmentT, class ContainerT>
FSizeType detail::List< FragmentT, ContainerT >::upperLimit_ [private]
 

Definition at line 243 of file List.hpp.

Referenced by detail::List< SimpleFragment >::limit(), and detail::List< SimpleFragment >::swap().


The documentation for this class was generated from the following file:
Generated on Thu Dec 15 10:40:15 2005 for Shareaza 2.2.1.0 by  doxygen 1.4.2