ROSE
0.11.96.11
|
Container classes that store user-defined values.
This library implements a number of container classes. In general, these classes adhere to the naming scheme used throughout the library, which might be somewhat surprising compared with STL containers. The major differences are:
Iterator
, ConstIterator
, etc. begin
and end
methods, but rather return iterator ranges with methods like, for the key/value map container, keys
, values
, and nodes
. This allows containers return different types of iterators. The iterator ranges have the usual begin
and end
methods. isEmpty
so they cannot be confused with a similar verb (i.e., it is quite obvious that isEmpty
does not empty the container). insert
methods come in different flavors depending on what's being inserted. Inserters that insert a value are named insert
; those that insert multiple values, like from another container or iterator range, are named insertMultiple
. This gives the API more flexibility and consistency across different containers. erase
methods also come in different flavors: erase
is to erase a single specified value, eraseAt
is for erasing based on location (i.e., iterators that point into that container), and eraseMultiple
is to erase multiple values at once (e.g., values obtained from a different container). As with insert
, this gives container designers more flexibility and at the same time improves consistency. Namespaces | |
Algorithm | |
Algorithms that operate on container classes. | |
BitVectorSupport | |
Support functions for bit vectors. | |
Classes | |
class | AddressMap |
A mapping from address space to values. More... | |
class | AddressMapConstraints |
Constraints are used to select addresses from a memory map. More... | |
struct | AddressMapTraits |
struct | AddressMapTraits< const AddressMap > |
class | AddressSegment |
A homogeneous interval of an address space. More... | |
class | AllocatingBuffer |
Allocates memory as needed. More... | |
class | BiMap |
One-to-one mapping between source and target values. More... | |
class | BitVector |
Bit vectors. More... | |
class | Buffer |
Base class for all buffers. More... | |
class | DenseIntegerSet |
Unordered set of densely-packed integers. More... | |
class | DistinctList |
A doubly-linked list of distinct items. More... | |
class | Graph |
Graph containing user-defined vertices and edges. More... | |
class | GraphBimapIndex |
Map based index is the default index type when indexes are present. More... | |
class | GraphEdgeNoKey |
Type of edge key for graphs that do not index their edges. More... | |
class | GraphHashIndex |
Hash-based indexing. More... | |
struct | GraphIndexTraits |
Traits for vertex and edge indexing. More... | |
struct | GraphIndexTraits< GraphEdgeNoKey< EdgeValue >, ConstEdgeIterator > |
struct | GraphIndexTraits< GraphVertexNoKey< VertexValue >, ConstVertexIterator > |
class | GraphIteratorBiMap |
Bidirectional map of graph edge or vertex pointers. More... | |
class | GraphIteratorMap |
Map of graph edge or vertex pointers to some other value. More... | |
class | GraphIteratorSet |
Set of graph edge or vertex pointers (iterators). More... | |
struct | GraphTraits |
Traits for graphs. More... | |
struct | GraphTraits< const G > |
class | GraphVertexNoKey |
Type of vertex key for graphs that do not index their vertices. More... | |
class | GraphVoidIndex |
Fake index for graphs that don't have an index. More... | |
class | HashMap |
Container associating values with keys. More... | |
class | IndexedList |
Doubly-linked list with constant-time indexing. More... | |
struct | IndexedListTraits |
Traits for indexed lists. More... | |
struct | IndexedListTraits< const T > |
class | Interval |
Range of values delimited by endpoints. More... | |
class | IntervalMap |
An associative container whose keys are non-overlapping intervals. More... | |
struct | IntervalMapTraits |
Traits for IntervalMap. More... | |
struct | IntervalMapTraits< const IntervalMap > |
class | IntervalSet |
A container holding a set of values. More... | |
class | IntervalSetMap |
Mapping from integers to sets. More... | |
class | LineVector |
A buffer of characters indexed by line number. More... | |
class | Map |
Container associating values with keys. More... | |
class | MappedBuffer |
Memory mapped file. More... | |
class | MergePolicy |
Policy indicating how values are merged and split. More... | |
class | NullBuffer |
Buffer that has no data. More... | |
class | SegmentPredicate |
Base class for testing segment constraints. More... | |
class | Set |
Ordered set of values. More... | |
class | Stack |
Stack-based container. More... | |
class | StaticBuffer |
Points to static data. More... | |
class | Trace |
Records and replays traces. More... | |
struct | TraceIndexTraits |
Traits for a Trace label index. More... | |
struct | TraceIndexTraits< Label, Value, TraceVectorIndexTag > |
class | TraceMapIndexTag |
Tag for a map-based Trace label index. More... | |
class | TraceVectorIndexTag |
Tag for a vector-based Trace label index. More... | |
class | Tracker |
Tracks whether something has been seen before. More... | |
class | TrackerSetIndex |
Set-based index referenced by TrackerTraits. More... | |
struct | TrackerTraits |
Traits for Tracker. More... | |
class | TrackerUnorderedIndex |
Hash-based index referenced by TrackerTraits. More... | |
class | TrackerVectorIndex |
Vector-based index referenced by TrackerTraits. More... | |
Typedefs | |
typedef unsigned | MatchFlags |
Flags for matching constraints. | |
Functions | |
template<class T , class IndexTag > | |
std::ostream & | operator<< (std::ostream &out, const Trace< T, IndexTag > &trace) |
Emit the ordered labels for a trace. More... | |
|
inline |
Emit the ordered labels for a trace.
Prints a trace by emitting a comma-separated list of the trace's labels using Trace::print.
Definition at line 679 of file Trace.h.
References Sawyer::Container::Trace< T, IndexTag >::print().