1. 30 May, 2016 1 commit
  2. 29 May, 2016 2 commits
  3. 28 May, 2016 1 commit
  4. 27 May, 2016 1 commit
  5. 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
  6. 25 May, 2016 1 commit
    • Yung-Yu Chen's avatar
      pybind11::args should have been derived from tuple · 114bfeb7
      Yung-Yu Chen authored
      args was derived from list, but cpp_function::dispatcher sends a tuple to it->impl (line #346 and #392 in pybind11.h).  As a result args::size() and args::operator[] don't work at all.  On my mac args::size() returns -1.  Making args a subclass of tuple fixes it.
      114bfeb7
  7. 24 May, 2016 2 commits
  8. 22 May, 2016 1 commit
  9. 20 May, 2016 1 commit
  10. 19 May, 2016 1 commit
  11. 17 May, 2016 1 commit
  12. 16 May, 2016 1 commit
  13. 15 May, 2016 5 commits
  14. 08 May, 2016 2 commits
  15. 05 May, 2016 1 commit
  16. 04 May, 2016 1 commit
    • Wenzel Jakob's avatar
      redesigned format_descriptor<> and npy_format_descriptor<> · 876eeab4
      Wenzel Jakob authored
      This somewhat heavyweight solution will avoid size_t/long long/long/int
      mismatches on various platforms once and for all. The previous template
      overloads could e.g. not handle size_t on Darwin.
      
      One gotcha: the 'format_descriptor<T>::value()' syntax changed to just
      'format_descriptor<T>::value'
      876eeab4
  17. 01 May, 2016 2 commits
  18. 30 Apr, 2016 6 commits
  19. 28 Apr, 2016 1 commit
  20. 27 Apr, 2016 1 commit
  21. 25 Apr, 2016 1 commit
  22. 22 Apr, 2016 1 commit
  23. 21 Apr, 2016 1 commit
  24. 20 Apr, 2016 1 commit
  25. 18 Apr, 2016 2 commits
  26. 13 Apr, 2016 1 commit