JX Application Framework
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Friends | List of all members
JList< T > Class Template Referenceabstract

#include <JList.h>

Inheritance diagram for JList< T >:
[legend]

Public Member Functions

 JList ()
 
 JList (const JList< T > &source)
 
 ~JList () override
 
virtual T GetFirstItem () const =0
 
virtual T GetLastItem () const =0
 
virtual void PrependItem (const T &data)=0
 
virtual void AppendItem (const T &data)=0
 
virtual void RemoveAll ()=0
 
virtual JListIterator< T > * NewIterator (const JListT::Position start=JListT::kStartAtBeginning, const JIndex index=0)=0
 
virtual JListIterator< T > * NewIterator (const JListT::Position start=JListT::kStartAtBeginning, const JIndex index=0) const =0
 
void SetCompareFunction (const std::function< std::weak_ordering(const T &, const T &)> compareFn)
 
void CopyCompareFunction (const JList< T > &source)
 
void ClearCompareFunction ()
 
JListT::SortOrder GetSortOrder () const
 
void SetSortOrder (const JListT::SortOrder order)
 
bool IsSorted () const
 
- Public Member Functions inherited from JCollection
 JCollection ()
 
 JCollection (const JCollection &source)
 
 ~JCollection () override
 
JCollectionoperator= (const JCollection &source)
 
JSize GetItemCount () const
 
bool IsEmpty () const
 
bool IndexValid (const JIndex index) const
 
JIndex GetIndexFromEnd (const JIndex index) const
 
JString ToString () const override
 
- Public Member Functions inherited from JBroadcaster
 JBroadcaster ()
 
virtual ~JBroadcaster ()
 
JBroadcasteroperator= (const JBroadcaster &source)
 
bool HasSenders () const
 
JSize GetSenderCount () const
 
bool HasRecipients () const
 
JSize GetRecipientCount () const
 
template<class T >
void ListenTo (const JBroadcaster *sender, const std::function< void(const T &)> &f)
 

Protected Member Functions

std::function< std::weak_ordering(const T &, const T &)> * GetCompareFunction () const
 
void ListAssigned (const JList< T > &source)
 
void NotifyIterators (const JBroadcaster::Message &message)
 
- Protected Member Functions inherited from JCollection
void ItemAdded ()
 
void ItemRemoved ()
 
void SetItemCount (const JSize newItemCount)
 
- Protected Member Functions inherited from JBroadcaster
 JBroadcaster (const JBroadcaster &source)
 
void ListenTo (const JBroadcaster *sender)
 
void StopListening (const JBroadcaster *sender)
 
void ClearWhenGoingAway (const JBroadcaster *sender, void *pointerToMember)
 
void StopListening (const JBroadcaster *sender, const std::type_info &messageType)
 
template<class T >
void Send (JBroadcaster *recipient, const T &message)
 
template<class T >
void Broadcast (const T &message)
 
virtual void Receive (JBroadcaster *sender, const Message &message)
 
void SendWithFeedback (JBroadcaster *recipient, Message *message)
 
void BroadcastWithFeedback (Message *message)
 
virtual void ReceiveWithFeedback (JBroadcaster *sender, Message *message)
 
virtual void ReceiveGoingAway (JBroadcaster *sender)
 

Friends

class JListIterator< T >
 

Detailed Description

template<class T>
class JList< T >

Interface for JListIterator class template

Constructor & Destructor Documentation

◆ JList() [1/2]

template<class T >
JList< T >::JList ( )
                    The JList Template Class

Abstract template for a dynamically sized list.

This class provides the structure for the public interface of all objects that act like lists.

◆ JList() [2/2]

template<class T >
JList< T >::JList ( const JList< T > &  source)

◆ ~JList()

template<class T >
JList< T >::~JList ( )
override

Member Function Documentation

◆ AppendItem()

template<class T >
virtual void JList< T >::AppendItem ( const T &  data)
pure virtual

Implemented in JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JRunArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JRunArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JRunArray< JFont >, JArray< JFontManager::Font >, JRunArray< JFontStyle >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JLinkedList< JNetworkProtocolBase::Chunk >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JRunArray< JTextEditor::LineGeometry >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T >, JLinkedList< T >, JRunArray< T >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, and JArray< WindowInfo >.

◆ ClearCompareFunction()

template<class T >
void JList< T >::ClearCompareFunction ( )

◆ CopyCompareFunction()

template<class T >
void JList< T >::CopyCompareFunction ( const JList< T > &  source)

◆ GetCompareFunction()

template<class T >
std::function< std::weak_ordering(const T &, const T &)> * JList< T >::GetCompareFunction ( ) const
protected

◆ GetFirstItem()

template<class T >
virtual T JList< T >::GetFirstItem ( ) const
pure virtual

Implemented in JArray< T >, JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JArray< JFontManager::Font >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, JArray< WindowInfo >, JLinkedList< T >, JLinkedList< JNetworkProtocolBase::Chunk >, JRunArray< T >, JRunArray< bool >, JRunArray< JCoordinate >, JRunArray< JFont >, JRunArray< JFontStyle >, and JRunArray< JTextEditor::LineGeometry >.

◆ GetLastItem()

template<class T >
virtual T JList< T >::GetLastItem ( ) const
pure virtual

Implemented in JArray< T >, JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JArray< JFontManager::Font >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, JArray< WindowInfo >, JLinkedList< T >, JLinkedList< JNetworkProtocolBase::Chunk >, JRunArray< T >, JRunArray< bool >, JRunArray< JCoordinate >, JRunArray< JFont >, JRunArray< JFontStyle >, and JRunArray< JTextEditor::LineGeometry >.

◆ GetSortOrder()

template<class T >
JListT::SortOrder JList< T >::GetSortOrder ( ) const

◆ IsSorted()

template<class T >
bool JList< T >::IsSorted ( ) const

Lookup's in LinkedLists and RunArrays are O(N). We eliminate this by using an iterator.

◆ ListAssigned()

template<class T >
void JList< T >::ListAssigned ( const JList< T > &  source)
protected

◆ NewIterator() [1/2]

template<class T >
virtual JListIterator< T > * JList< T >::NewIterator ( const JListT::Position  start = JListT::kStartAtBeginning,
const JIndex  index = 0 
) const
pure virtual

Implemented in JArray< T >, JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JArray< JFontManager::Font >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, JArray< WindowInfo >, JLinkedList< T >, JLinkedList< JNetworkProtocolBase::Chunk >, JRunArray< T >, JRunArray< bool >, JRunArray< JCoordinate >, JRunArray< JFont >, JRunArray< JFontStyle >, and JRunArray< JTextEditor::LineGeometry >.

◆ NewIterator() [2/2]

template<class T >
virtual JListIterator< T > * JList< T >::NewIterator ( const JListT::Position  start = JListT::kStartAtBeginning,
const JIndex  index = 0 
)
pure virtual

Implemented in JArray< T >, JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JArray< JFontManager::Font >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, JArray< WindowInfo >, JLinkedList< T >, JLinkedList< JNetworkProtocolBase::Chunk >, JRunArray< T >, JRunArray< bool >, JRunArray< JCoordinate >, JRunArray< JFont >, JRunArray< JFontStyle >, and JRunArray< JTextEditor::LineGeometry >.

◆ NotifyIterators()

template<class T >
void JList< T >::NotifyIterators ( const JBroadcaster::Message message)
protected

◆ PrependItem()

template<class T >
virtual void JList< T >::PrependItem ( const T &  data)
pure virtual

Implemented in JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JRunArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JRunArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JRunArray< JFont >, JArray< JFontManager::Font >, JRunArray< JFontStyle >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JLinkedList< JNetworkProtocolBase::Chunk >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JRunArray< JTextEditor::LineGeometry >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T >, JLinkedList< T >, JRunArray< T >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, and JArray< WindowInfo >.

◆ RemoveAll()

template<class T >
virtual void JList< T >::RemoveAll ( )
pure virtual

Implemented in JArray< T >, JArray< Atom >, JArray< BaseItemData >, JArray< bool >, JArray< ChildWindowInfo >, JArray< CRMRule >, JArray< CursorInfo >, JArray< DocInfo >, JArray< double >, JArray< FileMap >, JArray< FontInfo >, JArray< IconData >, JArray< ItemInfo >, JArray< JArray< JFloat > * >, JArray< JBroadcaster * >, JArray< JBroadcaster::ClearPointer >, JArray< JBroadcasterMessageTuple >, JArray< JBroadcastTester::Validation >, JArray< JColorID >, JArray< JCoordinate >, JArray< JCursorIndex >, JArray< JDirEntry * >, JArray< JFontManager::Font >, JArray< JIndex >, JArray< JMMRecord >, JArray< JMountPoint >, JArray< JProcess * >, JArray< JPtrArray< JString > * >, JArray< JPtrArray< T > * >, JArray< JRect >, JArray< JRunArrayItem< bool > >, JArray< JRunArrayItem< JCoordinate > >, JArray< JRunArrayItem< JFont > >, JArray< JRunArrayItem< JFontStyle > >, JArray< JRunArrayItem< JTextEditor::LineGeometry > >, JArray< JRunArrayItem< T > >, JArray< JSize >, JArray< JString * >, JArray< JSTStyler::TokenData >, JArray< JSTUndoBase * >, JArray< JStyledText::TextIndex >, JArray< JTreeNode * >, JArray< JUtf8Byte >, JArray< JUtf8ByteRange >, JArray< JXCheckbox * >, JArray< JXContainer * >, JArray< JXDirector * >, JArray< JXDisplay * >, JArray< JXDockDirector * >, JArray< JXDockWidget * >, JArray< JXFTCCell * >, JArray< JXIdleTask * >, JArray< JXImage * >, JArray< JXMenu * >, JArray< JXRadioButton * >, JArray< JXScrolltab * >, JArray< JXSelectionData * >, JArray< JXSharedPrefObject::VersionInfo >, JArray< JXToolBarButton * >, JArray< JXWidget * >, JArray< JXWindow * >, JArray< PrefItem >, JArray< S * >, JArray< Shortcut >, JArray< T * >, JArray< TabInfo >, JArray< TextItemData >, JArray< time_t >, JArray< unsigned long >, JArray< VarInfo >, JArray< VisInfo >, JArray< WindowInfo >, JLinkedList< T >, JLinkedList< JNetworkProtocolBase::Chunk >, JRunArray< T >, JRunArray< bool >, JRunArray< JCoordinate >, JRunArray< JFont >, JRunArray< JFontStyle >, and JRunArray< JTextEditor::LineGeometry >.

◆ SetCompareFunction()

template<class T >
void JList< T >::SetCompareFunction ( const std::function< std::weak_ordering(const T &, const T &)>  compareFn)

◆ SetSortOrder()

template<class T >
void JList< T >::SetSortOrder ( const JListT::SortOrder  order)

Friends And Related Symbol Documentation

◆ JListIterator< T >

template<class T >
friend class JListIterator< T >
friend

The documentation for this class was generated from the following files: