|
FreeNOS
|
Containers provide access to stored items. More...
#include <Container.h>
Public Member Functions | |
| Container () | |
| Constructor. | |
| virtual | ~Container () |
| Destructor. | |
| virtual Size | size () const =0 |
| Returns the maximum size of this Container. | |
| virtual Size | count () const =0 |
| Returns the number of items inside the Container. | |
| virtual void | clear ()=0 |
| Removes all items from the Container. | |
| virtual bool | isEmpty () const |
| Check if the Container is empty. | |
| virtual bool | reserve (Size size) |
| Ensure that at least the given size is available. | |
| virtual bool | shrink (Size size) |
| Shrink the container size by the given amount of items. | |
| virtual Size | squeeze () |
| Try to minimize the memory required in the Container. | |
| virtual bool | resize (Size size) |
| Change the size of the Container. | |
Containers provide access to stored items.
Definition at line 35 of file Container.h.
| Container::Container | ( | ) |
Constructor.
Definition at line 20 of file Container.cpp.
|
virtual |
Destructor.
Definition at line 24 of file Container.cpp.
|
pure virtual |
Removes all items from the Container.
Implemented in Associative< K, V >, Associative< IPV4::Address, ARP::ARPCache * >, Associative< ProcessID, Channel * >, Associative< ProcessID, HashTable< String, Address > * >, Associative< String, Argument * >, Associative< String, FileCache * >, Associative< String, ShellCommand * >, Associative< u16, UDPSocket * >, Associative< u32, File * >, Associative< u32, LinnInode * >, List< T >, List< ATADrive * >, List< Device * >, List< Dirent * >, List< FileSystemRequest * >, List< HashTable::Bucket >, List< InterruptHook * >, List< K >, List< MpiHost::Packet * >, List< Process * >, List< String * >, List< String >, List< TestInstance * >, List< uint >, Queue< T, N >, Queue< NetworkQueue::Packet *, NetworkQueue::MaxPackets >, Queue< Process *, MAX_PROCS >, Sequence< T >, Sequence< Argument * >, Sequence< ATADrive * >, Sequence< char >, Sequence< Device * >, Sequence< Dirent * >, Sequence< FileSystemRequest * >, Sequence< Handler * >, Sequence< HashTable::Bucket >, Sequence< InterruptHook * >, Sequence< K >, Sequence< LinnGroup * >, Sequence< List< HashTable::Bucket > >, Sequence< List< InterruptHook * > * >, Sequence< List< Process * > * >, Sequence< MpiHost::Packet * >, Sequence< Process * >, Sequence< ProcessID >, Sequence< Size >, Sequence< String * >, Sequence< String >, Sequence< TestInstance * >, Sequence< uint >, Vector< T >, Vector< Argument * >, Vector< Handler * >, Vector< LinnGroup * >, Vector< List< HashTable::Bucket > >, Vector< List< InterruptHook * > * >, Vector< List< Process * > * >, and Vector< Size >.
|
pure virtual |
Returns the number of items inside the Container.
Implemented in Array< T, N >, Array< ProcessID, MaximumChannels >, HashTable< K, V >, HashTable< IPV4::Address, ARP::ARPCache * >, HashTable< ProcessID, Channel * >, HashTable< ProcessID, HashTable< String, Address > * >, HashTable< String, Argument * >, HashTable< String, FileCache * >, HashTable< String, ShellCommand * >, HashTable< u16, UDPSocket * >, HashTable< u32, File * >, HashTable< u32, LinnInode * >, List< T >, List< ATADrive * >, List< Device * >, List< Dirent * >, List< FileSystemRequest * >, List< HashTable::Bucket >, List< InterruptHook * >, List< K >, List< MpiHost::Packet * >, List< Process * >, List< String * >, List< String >, List< TestInstance * >, List< uint >, Queue< T, N >, Queue< NetworkQueue::Packet *, NetworkQueue::MaxPackets >, Queue< Process *, MAX_PROCS >, String, Vector< T >, Vector< Argument * >, Vector< Handler * >, Vector< LinnGroup * >, Vector< List< HashTable::Bucket > >, Vector< List< InterruptHook * > * >, Vector< List< Process * > * >, and Vector< Size >.
Referenced by Associative< K, V >::compareTo(), Sequence< T >::compareTo(), and isEmpty().
|
virtual |
Check if the Container is empty.
Reimplemented in List< T >, List< ATADrive * >, List< Device * >, List< Dirent * >, List< FileSystemRequest * >, List< HashTable::Bucket >, List< InterruptHook * >, List< K >, List< MpiHost::Packet * >, List< Process * >, List< String * >, List< String >, List< TestInstance * >, and List< uint >.
Definition at line 28 of file Container.cpp.
References count().
|
virtual |
|
virtual |
Change the size of the Container.
| size | New size of the container. |
Reimplemented in String, Vector< T >, Vector< Argument * >, Vector< Handler * >, Vector< LinnGroup * >, Vector< List< HashTable::Bucket > >, Vector< List< InterruptHook * > * >, Vector< List< Process * > * >, and Vector< Size >.
Definition at line 51 of file Container.cpp.
|
virtual |
Shrink the container size by the given amount of items.
| size | Number of items to shrink. |
Definition at line 41 of file Container.cpp.
|
pure virtual |
Returns the maximum size of this Container.
Implemented in Array< T, N >, Array< ProcessID, MaximumChannels >, HashTable< K, V >, HashTable< IPV4::Address, ARP::ARPCache * >, HashTable< ProcessID, Channel * >, HashTable< ProcessID, HashTable< String, Address > * >, HashTable< String, Argument * >, HashTable< String, FileCache * >, HashTable< String, ShellCommand * >, HashTable< u16, UDPSocket * >, HashTable< u32, File * >, HashTable< u32, LinnInode * >, List< T >, List< ATADrive * >, List< Device * >, List< Dirent * >, List< FileSystemRequest * >, List< HashTable::Bucket >, List< InterruptHook * >, List< K >, List< MpiHost::Packet * >, List< Process * >, List< String * >, List< String >, List< TestInstance * >, List< uint >, Queue< T, N >, Queue< NetworkQueue::Packet *, NetworkQueue::MaxPackets >, Queue< Process *, MAX_PROCS >, String, Vector< T >, Vector< Argument * >, Vector< Handler * >, Vector< LinnGroup * >, Vector< List< HashTable::Bucket > >, Vector< List< InterruptHook * > * >, Vector< List< Process * > * >, and Vector< Size >.
Referenced by Sequence< T >::clear(), Associative< K, V >::compareTo(), Sequence< T >::compareTo(), Sequence< T >::contains(), Sequence< T >::fill(), reserve(), shrink(), and squeeze().
|
virtual |
Try to minimize the memory required in the Container.
Definition at line 46 of file Container.cpp.
References size().