- 5


--##end CourseOfferi ng. Get_The_Course%Object. documentati on

function Get_The_Course (This : in Object) return Course.Handle is

--##begi n CourseOfferi ng.Get_The_Course%Object.declarati ons preserve=no

--##end CourseOffering. Get__The_Course%Object. declarations

begin

--##begi n CourseOfferi ng.Get_The_Course%Object.statements preserve=no

return This.The_Course;

--##end CourseOfferi ng.Get_The_Course%Object.statements

end Get_Jhe_Course;

-- Association Operations

--##begin module.associations preserve=no

generic

type Role_Type is tagged private;

type Access_Role_Type is access Role_Type'Class;

type Index is range <>;

type Array _Of_Access_Role_Type is

array (Index range <>) of Access_Role_Type;

type Access_Array_Of_Access Role_Type is

access Array_Of_Access_Ro1e_Type;

package Generic_Tagged_Association is

procedure Set (This_Access_Array : in out

Access_Array_Of_Access_Role_Type;

This_Array : Array_Of_Access_Role_Type;

Limit : Positive := Positive

((Index'Last - Index'First) + 1));

function Is_Unique (This_Array : Array_Of_Access_Role_Type;

This : Access_Ro1e_Type) return Boolean;

function Unique (This_Array : in Array_Of_Access_Role_Type)

return Array_Of_Access_Role_Type;

pragma Inline (Set, Is_Unique, Unique);

end Generic_Tagged_Association;

package body Generic_Tagged_Association is

procedure Free is new Unchecked_Deallocation

( Array_Of_Access_Role_Type,

Access_Array_Of_Access_Role_Type);

procedure Set (This_Access_Array : in out

Access_Array_Of_Access_Role_Type;

This_Array : Array_Of_Access_Role_Type;

Limit : Positive := Positive

((Index'Last - Index'First) + 1)) is

Valid : Boolean;

Pos : Index := This_Array'First;

Last : constant Index := This_Array'Last;

Temp_Access_Array : Access_Array_Of_Access_Role_Type;

begin

if Positive(This_Array'Length) > Limit then

raise Constraint_Error;

end if;

if This_Access_Array - null then

-- Allocate entries.

This_Access_Array := new




- -  - -  - -