Explain about typedef? A type predicate takes one or more arguments and it is a template. If a type predicate is true it is publicly derived directly or indirectly from true type def. In case it is false it is publicly derived from false type def.