1. 26 May, 2016 1 commit
    • Wenzel Jakob's avatar
      Redesigned virtual call mechanism and user-facing syntax (breaking change!) · 86d825f3
      Wenzel Jakob authored
      Sergey Lyskov pointed out that the trampoline mechanism used to override
      virtual methods from within Python caused unnecessary overheads when
      instantiating the original (i.e. non-extended) class.
      
      This commit removes this inefficiency, but some syntax changes were
      needed to achieve this. Projects using this features will need to make a
      few changes:
      
      In particular, the example below shows the old syntax to instantiate a
      class with a trampoline:
      
      class_<TrampolineClass>("MyClass")
          .alias<MyClass>()
          ....
      
      This is what should be used now:
      
      class_<MyClass, std::unique_ptr<MyClass, TrampolineClass>("MyClass")
          ....
      
      Importantly, the trampoline class is now specified as the *third*
      argument to the class_ template, and the alias<..>() call is gone. The
      second argument with the unique pointer is simply the default holder
      type used by pybind11.
      86d825f3
  2. 17 May, 2016 1 commit
  3. 05 May, 2016 1 commit
  4. 03 May, 2016 1 commit
  5. 30 Apr, 2016 2 commits
  6. 29 Apr, 2016 1 commit
  7. 26 Apr, 2016 1 commit
  8. 25 Apr, 2016 1 commit
  9. 21 Apr, 2016 2 commits
  10. 18 Apr, 2016 1 commit
  11. 15 Apr, 2016 1 commit
  12. 13 Apr, 2016 3 commits
  13. 11 Apr, 2016 1 commit
  14. 07 Apr, 2016 2 commits
  15. 06 Apr, 2016 1 commit
  16. 09 Mar, 2016 1 commit
  17. 08 Mar, 2016 1 commit
  18. 22 Feb, 2016 1 commit
  19. 07 Feb, 2016 1 commit
  20. 29 Jan, 2016 1 commit
  21. 18 Jan, 2016 1 commit
  22. 17 Jan, 2016 2 commits