1. 10 Jul, 2016 1 commit
  2. 09 Jul, 2016 1 commit
  3. 08 Jul, 2016 5 commits
  4. 07 Jul, 2016 2 commits
    • Jason Rhinelander's avatar
      Only disable placement-new warning under gcc >= 6 · 0b12f91f
      Jason Rhinelander authored
      Otherwise this would create unknown option warnings under g++ < 6.
      0b12f91f
    • Jason Rhinelander's avatar
      Disable -Wplacement-new warning false alarm · cae0e009
      Jason Rhinelander authored
      GCC-6 adds a -Wplacement-new warning that warns for placement-new into a
      space that is too small, which is sometimes being triggered here (e.g.
      example5 always generates the warning under g++-6).  It's a false
      warning, however: the line immediately before just checked the size, and
      so this line is never going to actually be reached in the cases where
      the GCC warning is being triggered.
      
      This localizes the warning disabling just to this one spot as there are
      other placement-new uses in pybind11 where this warning could warn about
      legitimate future problems.
      cae0e009
  5. 06 Jul, 2016 1 commit
    • Jason Rhinelander's avatar
      Add _<bool>("s1", "s2") ternary & use TYPE_CASTER · 8469f751
      Jason Rhinelander authored
      This commit adds an additional _ template function for compile-time
      selection between two description strings.  This in turn allows the
      elimination of needing two name() methods in type_caster<arithmetic
      types> and type_caster<eigen types>, which allows them to start using
      PYBIND11_TYPE_CASTER instead, simplifying their code by eliminating all
      the code that they are duplicating from the macro.
      8469f751
  6. 05 Jul, 2016 1 commit
    • Ben North's avatar
      Fix handling of one-dimensional input arrays · 93594a38
      Ben North authored
      In eigen.h, type_caster<Type>::load():  For the 'ndim == 1' case, use
      the 'InnerStride' type because there is only an inner stride for a
      vector.  Choose between (n_elts x 1) or (1 x n_elts) according to
      whether we're constructing a Vector or a RowVector.
      93594a38
  7. 01 Jul, 2016 4 commits
  8. 27 Jun, 2016 1 commit
  9. 22 Jun, 2016 2 commits
  10. 17 Jun, 2016 2 commits
  11. 15 Jun, 2016 2 commits
  12. 14 Jun, 2016 1 commit
  13. 03 Jun, 2016 2 commits
  14. 02 Jun, 2016 1 commit
  15. 01 Jun, 2016 1 commit
  16. 31 May, 2016 1 commit
  17. 30 May, 2016 3 commits
  18. 29 May, 2016 1 commit
  19. 28 May, 2016 1 commit
  20. 26 May, 2016 4 commits
    • Boris Schäling's avatar
      Make examples build and run on Cygwin · 89656445
      Boris Schäling authored
      89656445
    • Wenzel Jakob's avatar
    • 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
    • Wenzel Jakob's avatar
      minor cleanups in pytypes.h · 60abf299
      Wenzel Jakob authored
      60abf299
  21. 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
  22. 24 May, 2016 2 commits