private with Ada.Containers;
private with Ada.Strings.Hash_Case_Insensitive;
package Statuses is
pragma Elaborate_Body;
type Status is private;
function "="( l, r : Status ) return Boolean;
function To_Status( id : String ) return Status;
pragma Precondition( id'Length > 0 );
ST_NONE : constant Status;
ST_FAILED : constant Status;
ST_SUCCESS : constant Status;
ST_EXCEPTION : constant Status;
private
use Ada.Containers;
type Status is new Ada.Containers.Hash_Type;
ST_NONE : constant Status := Status(Ada.Strings.Hash_Case_Insensitive( "none" ));
ST_FAILED : constant Status := Status(Ada.Strings.Hash_Case_Insensitive( "failed" ));
ST_SUCCESS : constant Status := Status(Ada.Strings.Hash_Case_Insensitive( "success" ));
ST_EXCEPTION : constant Status := Status(Ada.Strings.Hash_Case_Insensitive( "exception" ));
end Statuses;