systemc: Fill out some of the sc_vector.hh classes.
authorGabe Black <gabeblack@google.com>
Tue, 12 Jun 2018 01:47:49 +0000 (18:47 -0700)
committerGabe Black <gabeblack@google.com>
Wed, 15 Aug 2018 01:33:20 +0000 (01:33 +0000)
commitf8ad69b3204d5932fe7dd6948219921a8ca20675
tree01b3bb2c7898784c6cf7888e67375cbad29d1b42
parentec9d7fa955fd9664947042742aa8287c936b53ea
systemc: Fill out some of the sc_vector.hh classes.

The iterator class needs to have some operators, etc., defined so that
tests written against it can compile correctly. The implementations
were heavily influenced by the Accellera implementation.

Also it should be noted that the systemc spec is incorrect where it
defines these classes. When implemented like they are in the
Accellera version, the versions of bind in sc_vector_assembly which
take sc_vector<T>::iterator and iterator parameters are different, and
so they can overload each other. If implemented as described by the
spec however, those types are the same and the code won't compile.

Change-Id: I62852adf7e6c0a2f3df076ba4e93d2501859c32d
Reviewed-on: https://gem5-review.googlesource.com/11177
Reviewed-by: Gabe Black <gabeblack@google.com>
Maintainer: Gabe Black <gabeblack@google.com>
src/systemc/ext/utils/sc_vector.hh