inline_depth
Určuje hloubku vloženého heuristického hledání tak, že nebude vložena žádná funkce, nachází-li se v hloubce (v grafu volání) větší než n.
#pragma inline_depth( [n] )
Poznámky
Tato direktiva pragma řídí vkládání funkcí označených klíčovým slovem inline a __inline nebo vložených automaticky při použití možnosti /Ob2.
Parametr n může nabývat hodnoty mezi 0 a 255, kde 255 znamená neomezenou hloubku v grafu volání a nula zakazuje rozšiřování vkládáním. Není-li parametr n zadán, je použita výchozí hodnota (254).
Direktiva pragma inline_depth řídí počet, kolikrát lze řadu volání funkcí rozbalit.Je-li například hloubka vkládání čtyři a zavolá-li funkce A funkci B a funkce B zavolá funkci C, budou všechna tři volání rozbalena po vložení.Je-li však nejbližší počet rozbalení dva, jsou rozbaleny pouze funkce A a B a funkce C bude nadála volána.
Chcete-li tuto direktivu pragma používat, je zapotřebí nastavit možnost kompilátoru /Ob na hodnotu 1 nebo 2.Nastavení hloubky pomocí této direktivy pragma se projeví při prvním volání funkce za direktivou.
Během rozbalování lze hloubku vkládání snížit, ne však zvýšit.Je-li hloubka vkládání nastavena na hodnotu šest a během rozbalování preprocesor nalezne direktivu pragma inline_depth s hodnotou osm, hloubka zůstává na hodnotě šest.
Direktiva pragma inline_depth nemá žádný vliv na funkce označené klíčovým slovem __forceinline.
[!POZNÁMKA]
Rekurzivní funkce mohou být nahrazeny vložením do maximální hloubky 16 volání.