%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%  PDSS (PIMOS Development Support System)  Version 2.52		 %
%  (C) Copyright 1988,1989,1990,1991,1992.				 %
%  Institute for New Generation Computer Technology (ICOT), Japan.	 %
%  Read "../COPYRIGHT" for detailed information.			 %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

:- module pool.
:- with_macro pimos.
:- public bag/1,stack/1,queue/1,
        sorted_bag/1,sorted_bag/2,
        keyed_bag/1,keyed_bag/2,keyed_bag/3,
        keyed_set/1,keyed_set/2,keyed_set/3,
        keyed_sorted_bag/1,keyed_sorted_bag/2,
        keyed_sorted_set/1,keyed_sorted_set/2,
        multiply_keyed_bag/2,multiply_keyed_bag/3.

bag(In) :- true | stack:stack(In,bag).
stack(In) :- true | stack:stack(In,stack).
queue(In) :- true | queue:queue(In).

sorted_bag(In) :- true |
    keyed_sorted_bag:sorted_bag(ascending,In).
sorted_bag(Comp,In) :- true |
    keyed_sorted_bag:sorted_bag(Comp,In).

keyed_bag(In) :- true |
    keyed_bag:keyed_bag(default,In,1).
keyed_bag(In,Size) :- true |
    keyed_bag:keyed_bag(default,In,Size).
keyed_bag(Hasher,In,Size) :- true |
    keyed_bag:keyed_bag(Hasher,In,Size).

keyed_set(In) :- true |
    keyed_bag:keyed_set(default,In,1).
keyed_set(In,Size) :- true |
    keyed_bag:keyed_set(default,In,Size).
keyed_set(Hasher,In,Size) :- true |
    keyed_bag:keyed_set(Hasher,In,Size).

keyed_sorted_bag(In) :- true |
    keyed_sorted_bag:keyed_sorted_bag(ascending,In).
keyed_sorted_bag(Comp,In) :- true |
    keyed_sorted_bag:keyed_sorted_bag(Comp,In).

keyed_sorted_set(In) :- true |
    keyed_sorted_bag:keyed_sorted_set(ascending,In).
keyed_sorted_set(Comp,In) :- true |
    keyed_sorted_bag:keyed_sorted_set(Comp,In).

multiply_keyed_bag(Fmt,In) :- true |
        multiply_keyed_bag:multiply_keyed_bag(Fmt,1,In).
multiply_keyed_bag(Fmt,Init,In) :- true |
        multiply_keyed_bag:multiply_keyed_bag(Fmt,Init,In).
