BlockList* GetPostorderList(const TBlock* startBlock) { // Add the blocks to the list in reverse postorder. // Make a list with the blocks walked in postorder, starting // with the exit block and following the predecessors. TPosterderWalker().Walk(startBlock, NoAction<TBlock>(), ListBuilder(this)); return &postorderList_; }
static PyObject* convert(const FusionSequence& seq) { boost::python::list mylist; boost::fusion::for_each( seq, boost::bind( ListBuilder(), mylist, _1 ) ); return boost::python::incref( boost::python::tuple( mylist ).ptr() ); }
static inline ListBuilder create(Frame * frame) { return ListBuilder(frame); }