emitidl
Specifica se tutti gli attributi IDL successivi vengono elaborati e inseriti nel file con estensione idl generato.
Sintassi
[ emitidl(state, defaultimports=boolean) ];
Parametri
state
Uno di questi valori possibili: true
, false
, forced
, restricted
, push
o pop
.
Se
true
, gli attributi di categoria IDL rilevati in un file di codice sorgente vengono inseriti nel file con estensione idl generato. Questa è l'impostazione predefinita per emitidl.Se
false
, gli attributi di categoria IDL rilevati in un file di codice sorgente non vengono inseriti nel file con estensione idl generato.Se
restricted
, consente agli attributi IDL di trovarsi nel file senza un attributo module. Il compilatore non genera un file con estensione idl.Se
forced
, esegue l'override di un attributo successivorestricted
, che richiede che un file disponga di unmodule
attributo se nel file sono presenti attributi IDL.push
consente di salvare le impostazioni emitidl correnti in uno stack emitidl interno epop
di impostare emitidl su qualsiasi valore nella parte superiore dello stack emitidl interno.
defaultimports=
booleano (facoltativo)
Se boolean è
true
, docobj.idl viene importato nel file con estensione idl generato. Inoltre, se un file con estensione idl con lo stesso nome di un file#include
con estensione h nel codice sorgente viene trovato nella stessa directory del file con estensione h, il file con estensione idl generato contiene un'istruzione import per il file con estensione idl.Se boolean è
false
, docobj.idl non viene importato nel file con estensione idl generato. È necessario importare in modo esplicito idl file con importazione.
Osservazioni:
Dopo che l'attributo emitidl C++ viene rilevato in un file di codice sorgente, gli attributi di categoria IDL vengono inseriti nel file con estensione idl generato. Se non è presente alcun attributo emitidl , gli attributi IDL nel file di codice sorgente vengono restituiti nel file con estensione idl generato.
È possibile avere più attributi emitidl in un file di codice sorgente. Se [emitidl(false)];
viene rilevato in un file senza un successivo [emitidl(true)];
, non vengono elaborati attributi nel file con estensione idl generato.
Ogni volta che il compilatore rileva un nuovo file, emitidl viene impostato in modo implicito su true
.
Requisiti
Contesto attributo | Valore |
---|---|
Si applica a | Anywhere |
Ripetibile | No |
Attributi obbligatori | None |
Attributi non validi | None |
Per altre informazioni, vedere Contesti di attributi.