仕様ファイルを可能な限り「一定」に保つために、いくつかの「ユーザー定義のコンパイラ定数」を宣言したいと思います。これはC++で一般的なものです。例:
// misc/config.hh
namespace misc
{
typedef std::shared_ptr<A> A_ptr;
namespace arch = ibmpc;
}
// misc/code.hh
#include "misc/config.hh"
namespace misc
{
void function p(A_ptr a);
}
どちらがエイダになりますか:
-- misc.ads
package Misc is
use Types; ----> forbidden !
procedure P(A : A_Access);
end Misc;
-- misc-types.ads
package Misc.Types is
type A_Access is A'Access;
end Misc.Types;
もちろん、これはuse
コンテキストキーワードであるため機能しません...したがって、私の質問:Adaで同じ結果で何かを行うことはどのように可能ですか?