汎用ベクター ライブラリがあるとします。使いやすくするために、ベクター ライブラリのさまざまな一般的な形式をインスタンス化し、それらを 1 つのパッケージで表示できるようにしたいと考えています。
私はこれを試しています:
with GenericVector;
package Vectors is
package Vectors3 is new GenericVector(3);
use all type Vectors3.Vector;
subtype Vector3 is Vectors3.Vector;
package Vectors4 is new GenericVector(4);
use all type Vectors4.Vector;
subtype Vector4 is Vectors4.Vector;
end;
最終的な目標は、私ができるようになりwith Vectors; use Vectors;、最終的に、Just Work を直接利用できるようにしたいということです。Vector3Vector4
当然、上記のコードは機能しません。use all typeステートメントは、指定された型に添付された定義をパッケージ仕様にインポートするように見えますが、それらの定義は のユーザーにエクスポートされませんVectors。代わりに私がしなければなりませんwith Vectors; use Vectors; use all type Vectors.Vectors3;。これはちょっとひどいです。
これどうやってするの?