1. Sep 10, 2016
    • Jason Rhinelander's avatar
      apt-get tweaks for the debian builds · bf14cea7
      Jason Rhinelander authored
      - Try to update and upgrade twice (with a brief pause between attempts)
        to deal with occassional spurious server failures or repository race
        conditions.  Do the same for the main package install.
      - Use dist-upgrade instead of upgrade for updating the image
      - Add -q to the upgrade and install commands to make apt less verbose.
      bf14cea7
  2. Sep 09, 2016
  3. Sep 08, 2016
  4. Sep 07, 2016
    • Wenzel Jakob's avatar
      Intel compiler 2017 fix · 8706fb90
      Wenzel Jakob authored
      8706fb90
    • Wenzel Jakob's avatar
      Merge pull request #385 from jagerman/relax-class-arguments · 6fd3132e
      Wenzel Jakob authored
      Allow arbitrary class_ template option ordering
      6fd3132e
    • Wenzel Jakob's avatar
      Merge pull request #391 from dean0x7d/cout-to-print · 837fda20
      Wenzel Jakob authored
      Replace std::cout with py::print in tests
      837fda20
    • Jason Rhinelander's avatar
      Allow passing base types as a template parameter · 6b52c838
      Jason Rhinelander authored
      This allows a slightly cleaner base type specification of:
      
          py::class_<Type, Base>("Type")
      
      as an alternative to
      
          py::class_<Type>("Type", py::base<Base>())
      
      As with the other template parameters, the order relative to the holder
      or trampoline types doesn't matter.
      
      This also includes a compile-time assertion failure if attempting to
      specify more than one base class (but is easily extendible to support
      multiple inheritance, someday, by updating the class_selector::set_bases
      function to set multiple bases).
      6b52c838
    • Dean Moldovan's avatar
      Replace std::cout with py::print in tests · 81511be3
      Dean Moldovan authored
      With this change both C++ and Python write to sys.stdout which resolves
      the capture issues noted in #351. Therefore, the related workarounds are
      removed.
      81511be3
    • Jason Rhinelander's avatar
      Allow arbitrary class_ template option ordering · 5fffe200
      Jason Rhinelander authored
      The current pybind11::class_<Type, Holder, Trampoline> fixed template
      ordering results in a requirement to repeat the Holder with its default
      value (std::unique_ptr<Type>) argument, which is a little bit annoying:
      it needs to be specified not because we want to override the default,
      but rather because we need to specify the third argument.
      
      This commit removes this limitation by making the class_ template take
      the type name plus a parameter pack of options.  It then extracts the
      first valid holder type and the first subclass type for holder_type and
      trampoline type_alias, respectively.  (If unfound, both fall back to
      their current defaults, `std::unique_ptr<type>` and `type`,
      respectively).  If any unmatched template arguments are provided, a
      static assertion fails.
      
      What this means is that you can specify or omit the arguments in any
      order:
      
          py::class_<A, PyA> c1(m, "A");
          py::class_<B, PyB, std::shared_ptr<B>> c2(m, "B");
          py::class_<C, std::shared_ptr<C>, PyB> c3(m, "C");
      
      It also allows future class attributes (such as base types in the next
      commit) to be passed as class template types rather than needing to use
      a py::base<> wrapper.
      5fffe200
  5. Sep 06, 2016
  6. Sep 05, 2016