This is the statement from ISO C++ Standard 14.6.2.4: Dependent template arguments :
A type template-argument is dependent if the type it specifies is dependent.
An integral non-type template-argument is dependent if the constant expression it specifies is value dependent.
A non-integral non-type template-argument is dependent if its type is dependent or it has either of the following forms and contains a nested-name-specifier which specifies a class-name that names a dependent type.
A template template-argument is dependent if it names a template parameter or is a qualified-id with a nested-name-specifier which contains a class-name that names a dependent type.
I am unable to understand these points?
Can any one give examples for these statements?