1. 08 Jul, 2016 1 commit
  2. 06 Jul, 2016 1 commit
  3. 05 Jul, 2016 7 commits
  4. 01 Jul, 2016 1 commit
  5. 16 Jun, 2016 1 commit
  6. 15 Jun, 2016 1 commit
  7. 03 Jun, 2016 1 commit
  8. 01 Jun, 2016 3 commits
  9. 31 May, 2016 1 commit
  10. 30 May, 2016 1 commit
  11. 29 May, 2016 2 commits
  12. 28 May, 2016 1 commit
  13. 27 May, 2016 1 commit
  14. 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
  15. 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
  16. 24 May, 2016 2 commits
  17. 22 May, 2016 1 commit
  18. 20 May, 2016 1 commit
  19. 19 May, 2016 1 commit
  20. 17 May, 2016 1 commit
  21. 16 May, 2016 1 commit
  22. 15 May, 2016 5 commits
  23. 08 May, 2016 2 commits
  24. 05 May, 2016 1 commit
  25. 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