| # Section 8.14.1.11: $MULTI_STR |

###### abstract class $MULTI_STR

#### Formal Definitions

This abstract class defines a state component which is a set of all instantiations of objects of any class sub-typing from this class in addition to the vdm model types used wherever this class name is used. Note that SAME has to be an instantiated class, not an abstract one.

types
SAME = object_type ;
$STR = set of object_type
<> state
multi : $STR
inv multi_types ==
forall obj in set multi_types & sub_type($STR,obj)

NOTE | See the important note about vdm state in the notes on vdm-sl usage in this specification.

This abstract class models the text string representation of an object of the implementation class sub-type. Any such representation should, for portability purposes, be in accordance with the forms defined in this library.

render( component : STR, lib : LIBCHARS ) : STR pre (component.size > 0) and ~void(lib) post true is -- This routine renders the given component string in the character -- encoding of lib. render( component : RUNES, romanize : BOOL ) : STR pre (component.size > 0) post true is -- This routine renders the given component string in the character -- encoding of lib, if necessary converting the string into a transliterated -- form (usually Romanised using Latin letters). See ISO/IEC 14652 4.2.2 as_runes( component : RUNES, romanize : BOOL ) : RUNES pre (component.size > 0) post true is -- This routine renders the given component string in the character -- encoding of lib, if necessary converting the string into a transliterated -- form (usually Romanised using Latin letters). See ISO/IEC 14652 4.2.2 runes : RUNES pre ~void(self) post result.size > 0 is -- This routine returns a string representation using the default -- representation and language of the components which are separated by -- an asterisk. No line marks are included. fmt_runes( format : ANCHORED_DESCR, lib : LIBCHARS ) : RUNES pre ~void(self) and (format.width > 0) and ~void(lib) post ~void(result) is -- This routine returns a fully formatted address. It should be noted -- that this may or may not contain line-marks, although it is more usually -- likely to do so. fmt_runes( format : ANCHORED_DESCR ) : RUNES pre ~void(self) and (format.width > 0) post ~void(result) is -- This routine embeds the default format representation into the -- given format string.

| Language Index |  | Library Index |  | Basic Index

Comments or enquiries should be made to Keith Hopper. Page last modified: Wednesday, 24 May 2000. |