1package Predicate2 is
2
3   type Optional_Name_Type is new String;
4
5   subtype Name_Type is Optional_Name_Type
6     with Dynamic_Predicate => Name_Type'Length > 0;
7   --  A non case sensitive name
8
9   subtype Value_Type is String;
10
11   overriding function "=" (Left, Right : Optional_Name_Type) return Boolean;
12   overriding function "<" (Left, Right : Optional_Name_Type) return Boolean;
13
14end Predicate2;
15