Home|News blank.gif
When Design Matters CoreLinux++ CoreLinux Consortium
blank.gif
CoreLinux++
blank.gif
Goals
blank.gif
Developer's Corner
blank.gif
Contacts

CoreLinux++ Functional Requirement Document
Revision $Revision: 1.2 $
Last Modified : Sunday, January 16, 2000

Title : Iterator Pattern

Requirement ID: 5972
Analysis References: Use Case Report, Analysis Diagrams
Design References: Class Report, Design Diagrams
Cross References:

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:

  1. Provide foward iteration

  2. Provide reverse iteration

  3. Provide validity check for end of iterator

  4. 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
Contacts
- contact the webmaster
News
Powered / Hosted by

SourceForge.net
Contributor
NoMagic, inc.
thanks Gary!
Cool OO Sites
cetus
corba
omg
patterns
  Made with xemacs / php Comments to webmaster blank.gif