(* M2Bitset.def provides the BITSET type.

Copyright (C) 2003-2025 Free Software Foundation, Inc.
Contributed by Gaius Mulley <gaius.mulley@southwales.ac.uk>.

This file is part of GNU Modula-2.

GNU Modula-2 is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3, or (at your option)
any later version.

GNU Modula-2 is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

You should have received a copy of the GNU General Public License
along with GNU Modula-2; see the file COPYING3.  If not see
<http://www.gnu.org/licenses/>.  *)

DEFINITION MODULE M2Bitset ;

(*
    Title      : M2Bitset
    Author     : Gaius Mulley
    System     : GNU Modula-2
    Date       : Wed May  7 21:21:31 2003
    Revision   : $Version$
    Description: provides the BITSET type.
*)

EXPORT QUALIFIED MakeBitset, GetBitsetMinMax, Bitset, Bitnum ;


VAR
   Bitset, Bitnum: CARDINAL ;


(*
   MakeBitset - creates and declares the type BITSET.
*)

PROCEDURE MakeBitset ;


(*
   GetBitsetMinMax - assigns min and max to the minimum and maximum values of BITSET.
*)

PROCEDURE GetBitsetMinMax (VAR min, max: CARDINAL) ;


END M2Bitset.
