Previous Table of Contents Next


3.9.3 Abstract Value Type


   (16) <value_abs_dcl> ::= “abstract? “valuetype? <identifier> [ <value_inheritance_spec> ] “{“ <export>* “}?

   Value types may also be abstract. They are called abstract because an abstract value type may not be instantiated. No <state_member> or <initializers> may be specified. However, local operations may be specified. Essentially they are a bundle of operation signatures with a purely local implementation.

   Note that a concrete value type with an empty state is not an abstract value type.