CoreLinux++
Functional Requirement Document Revision $Revision: 1.2 $ Last
Modified : Sunday, January 16, 2000
Title : Iterator Pattern
1. Introduction
The Iterator provides a way to access the elements of an
collection type sequentially without exposing its underlying
representation.
1.1 Deliverables Overview
The participants in the Iterator pattern include:
- Iterator
-
Defines an interface for accessing and traversing aggregate
elements.
-
Concrete Iterator
-
Implements the Iterator interface. Keeps track of the current
position in the traversal of the aggregate.
The CoreLinux++ team will deliver CoreLinuxIterator for use with STL
wrappers.
Users can utilize the participant abstractions or implementations
as a basis for creating their own Iterator implementation outside of
the libcorelinux++ library.
2. Functional Requirements
The Iterator abstraction will:
Provide foward iteration
Provide reverse iteration
Provide validity check for end of iterator
Provide reset to begining element
2.1 User Interface Specifications
NA
2.2 Product Services
NA
2.3 External Interfaces and Database Requirements
NA
2.4 Error Handling
CoreLinuxIterator requires valid STL
iterators or throws InvalidIteratorException CoreLinuxIterator
will throw IteratorBoundsException if attempt to set position to
invalid entry.
2.5 Foreseeable Functional Changes and Enhancements
NA.
3. Non-Functional Requirements
Precondition constraints: None Postcondition constraints:
None
Invarient constraints: None
3.1 Performance Requirements
NA
3.2 User Documentation and Other User Aids
This Document
Analysis Use-Case diagrams
Design class diagrams
3.3 Development Requirements
Standards: CoreLinux++ C++ Standards and
Guidelines
Will be part of the libcorelinux++ shared library.
3.4 Foreseeable Non-Functional Changes
NA
4. Remarks and Guidelines for Later Life Cycle Phases
TBD
5. Term Glossary
TBD
Copyright © 1999, 2000 by CoreLinux Consortium
This material may be distributed only subject to the terms and conditions set forth in the
Open Publication License
|