LLVM API Documentation

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | List of all members
llvm::detail::PassModel< T, PassT > Struct Template Reference

A template wrapper used to implement the polymorphic API. More...

#include <PassManager.h>

Inheritance diagram for llvm::detail::PassModel< T, PassT >:
Inheritance graph
[legend]
Collaboration diagram for llvm::detail::PassModel< T, PassT >:
Collaboration graph
[legend]

Public Member Functions

 PassModel (PassT Pass)
 
virtual PassModelclone ()
 
virtual bool run (T Arg)
 The polymorphic API which runs the pass over a given IR entity. More...
 
- Public Member Functions inherited from llvm::detail::PassConcept< T >
virtual ~PassConcept ()
 

Public Attributes

PassT Pass
 

Detailed Description

template<typename T, typename PassT>
struct llvm::detail::PassModel< T, PassT >

A template wrapper used to implement the polymorphic API.

Can be instantiated for any object which provides a run method accepting a T. It requires the pass to be a copyable object.

Definition at line 70 of file IR/PassManager.h.

Constructor & Destructor Documentation

template<typename T, typename PassT>
llvm::detail::PassModel< T, PassT >::PassModel ( PassT  Pass)
inline

Definition at line 71 of file IR/PassManager.h.

Referenced by llvm::detail::PassModel< Module *, PassT >::clone().

Member Function Documentation

template<typename T, typename PassT>
virtual PassModel* llvm::detail::PassModel< T, PassT >::clone ( )
inlinevirtual

Implements llvm::detail::PassConcept< T >.

Definition at line 72 of file IR/PassManager.h.

template<typename T, typename PassT>
virtual bool llvm::detail::PassModel< T, PassT >::run ( T  Arg)
inlinevirtual

The polymorphic API which runs the pass over a given IR entity.

Implements llvm::detail::PassConcept< T >.

Definition at line 73 of file IR/PassManager.h.

Member Data Documentation

template<typename T, typename PassT>
PassT llvm::detail::PassModel< T, PassT >::Pass

Definition at line 74 of file IR/PassManager.h.


The documentation for this struct was generated from the following file: