tml::sqrt metafunction. High-order loop-like metafunctions tml::apply_for , tml::apply_while , tml::apply_until