Class Garbage.

Inherited by AbnfParser, Address, AddressParser, Annotation, Buffer, Cache, Codec, Collation, Column, Configuration, Connection, DSN, DatabaseSignal, Date, EString, EStringData, Endpoint, Entropy, EventFilterSpec, EventHandler, EventLoop, File, Filter, GraphableNumber, HTML, Header, HeaderField, ImapResponse, ImapUrl, IntegerSet, List, Log, Logger, MD5, Mailbox, MailboxGroup, Multipart, PatriciaTree, PermissionsChecker, PgClientMessage, PgServerMessage, PreparedStatement, Query, Recipient, Resolver, Row, Scope, Selector, Server, Session, SieveAction, SieveNotifyMethod, SieveProduction, SubjectThread, Timer, TlsThread, Transaction, UString and UStringData.

The Garbage class provides an object which will allocated using Allocator and be freed automatically when nothing points to it.

Almost all classes inherit Garbage directly or indirectly. Any that need special allocation handling (Allocator itself is one example) can avoid inheriting Garbage, or can provide their own operator new implementations which call ::malloc() or the Allocator's ::alloc() on their own.


Creates garbage to justify garbage collection.

void Garbage::setFirstNonPointer( const void * p ) const

Informs the Allocator to consider that this object contains no pointers at or after p. This makes Allocator::free() faster and more accurate.

This web page based on source code belonging to The Archiveopteryx Developers. All rights reserved.