JX Application Framework
|
#include <JList.h>
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 |
![]() | |
JCollection () | |
JCollection (const JCollection &source) | |
~JCollection () override | |
JCollection & | operator= (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 |
![]() | |
JBroadcaster () | |
virtual | ~JBroadcaster () |
JBroadcaster & | operator= (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) |
![]() | |
void | ItemAdded () |
void | ItemRemoved () |
void | SetItemCount (const JSize newItemCount) |
![]() | |
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 > |
Interface for JListIterator class template
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.
|
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 >.
void JList< T >::ClearCompareFunction | ( | ) |
|
protected |
|
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 >.
|
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 >.
JListT::SortOrder JList< T >::GetSortOrder | ( | ) | const |
Lookup's in LinkedLists and RunArrays are O(N). We eliminate this by using an iterator.
|
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 >.
|
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 >.
|
protected |
|
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 >.
|
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 >.
void JList< T >::SetCompareFunction | ( | const std::function< std::weak_ordering(const T &, const T &)> | compareFn | ) |
void JList< T >::SetSortOrder | ( | const JListT::SortOrder | order | ) |
|
friend |