implementation_only インポート属性
C++ 固有
.tlh
プライマリ タイプ ライブラリ ヘッダー ファイルの生成を抑制します。
構文
#import type-library implementation_only
解説
このファイルには、タイプ ライブラリ コンテンツを公開するために使用されているすべての宣言が含まれます。 ラッパー メンバー関数を実装した .tli
ヘッダー ファイルが生成され、コンパイルに含められます。
この属性の指定時には、.tli
ヘッダーのコンテンツは .tlh
ヘッダーで通常使用される同じ名前空間にあります。 また、メンバー関数はインライン関数として宣言されていません。
implementation_only 属性は、プリコンパイルされたヘッダー (PCH) ファイルの外部に実装を維持する方法として、no_implementation 属性と共に使用することが想定されています。 #import
属性を含む no_implementation
ステートメントは、PCH の作成に使用されるソース領域に配置されます。 生成される PCH は、多数のソース ファイルによって使用されます。 これによって、implementation_only 属性を含む #import
ステートメントが PCH 領域の外部で使用されます。 いずれかのソース ファイルでこのステートメントを 1 回だけ使用する必要があります。 これによって、ソース ファイルごとに追加の再コンパイルを行うことなく、必要なすべてのラッパー メンバー関数が生成されます。
Note
1 つの #import
ステートメントで implementation_only 属性を使用し、同時に no_implementation
属性を含む同じタイプ ライブラリの別の #import
ステートメントを使用する必要があります。 このようにしないと、コンパイラ エラーが生成されます。 これは、no_implementation
属性を含む #import
ステートメントによって生成されたラッパー クラス定義が、implementation_only 属性によって生成された実装をコンパイルするために必要であるためです。
END C++ 固有