Changes in src/Common/PassVisitor.proto.h [b73bd70:62423350]
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Common/PassVisitor.proto.h
rb73bd70 r62423350 5 5 6 6 typedef std::function<void( void * )> cleanup_func_t; 7 typedef std::function< void( cleanup_func_t, void * ) > at_cleanup_t; 7 8 8 9 class guard_value_impl { 9 10 public: 10 guard_value_impl() = default; 11 guard_value_impl( at_cleanup_t * at_cleanup ) { 12 if( at_cleanup ) { 13 *at_cleanup = [this]( cleanup_func_t && func, void* val ) { 14 push( std::move( func ), val ); 15 }; 16 } 17 } 11 18 12 19 ~guard_value_impl() { … … 33 40 }; 34 41 35 typedef std::function< void( cleanup_func_t, void * ) > at_cleanup_t;36 42 37 43 class bool_ref { … … 56 62 // Deep magic (a.k.a template meta programming) to make the templated visitor work 57 63 // Basically the goal is to make 2 previsit_impl 58 // 1 - Use when a pass implements a valid previsit. This uses overloading which means the any overload of 64 // 1 - Use when a pass implements a valid previsit. This uses overloading which means the any overload of 59 65 // 'pass.previsit( node )' that compiles will be used for that node for that type 60 66 // This requires that this option only compile for passes that actually define an appropriate visit.
Note:
See TracChangeset
for help on using the changeset viewer.