|
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.
Comments or enquiries should be made to
Keith
Hopper.
Page last modified:
Wednesday, 24 May 2000.
|
|