emitidl
Określa, czy wszystkie kolejne atrybuty IDL są przetwarzane i umieszczane w wygenerowanych plikach idl.
Składnia
[ emitidl(state, defaultimports=boolean) ];
Parametry
state
Jedna z następujących możliwych wartości: true
, , false
, restricted
forced
, push
, lub pop
.
Jeśli
true
atrybuty kategorii IDL napotkane w pliku kodu źródłowego zostaną umieszczone w wygenerowanym pliku idl. Jest to ustawienie domyślne dla emitidl.Jeśli
false
atrybuty kategorii IDL napotkane w pliku kodu źródłowego nie zostaną umieszczone w wygenerowanym pliku idl.Jeśli
restricted
parametr zezwala na używanie atrybutów IDL w pliku bez atrybutu modułu. Kompilator nie generuje pliku idl.Jeśli
forced
parametr zastępuje kolejnyrestricted
atrybut, który wymaga, aby plik miałmodule
atrybut, jeśli w pliku znajdują się atrybuty IDL.push
Umożliwia zapisanie bieżących ustawień emitidl do wewnętrznego stosu emitidl ipop
umożliwia ustawienie wartości emitidl na dowolną wartość w górnej części stosu wewnętrznego emitidl .
defaultimports=
wartość logiczna (opcjonalnie)
Jeśli wartość logiczna to
true
, plik docobj.idl jest importowany do wygenerowanego pliku idl. Ponadto jeśli plik idl o takiej samej nazwie jak plik h, który znajduje się#include
w kodzie źródłowym, znajduje się w tym samym katalogu co plik h, wygenerowany plik idl zawiera instrukcję importu dla tego pliku idl.Jeśli wartość logiczna to
false
, plik docobj.idl nie jest importowany do wygenerowanego pliku idl. Należy jawnie zaimportować pliki idl z importem.
Uwagi
Po napotkaniu atrybutu emitidl C++ w pliku kodu źródłowego atrybuty kategorii IDL są umieszczane w wygenerowanym pliku idl. Jeśli nie ma atrybutu emitidl , atrybuty IDL w pliku kodu źródłowego są danymi wyjściowymi wygenerowanego pliku idl.
Istnieje możliwość posiadania wielu atrybutów emitidl w pliku kodu źródłowego. Jeśli [emitidl(false)];
występuje w pliku bez późniejszego [emitidl(true)];
pliku , żadne atrybuty nie są przetwarzane do wygenerowanego pliku idl.
Za każdym razem, gdy kompilator napotka nowy plik, element emitidl jest niejawnie ustawiony na true
wartość .
Wymagania
Kontekst atrybutu | Wartość |
---|---|
Dotyczy | Gdziekolwiek |
Powtarzalne | Nie. |
Wymagane atrybuty | Brak |
Nieprawidłowe atrybuty | Brak |
Aby uzyskać więcej informacji, zobacz Konteksty atrybutów.