1. 28 Aug, 2016 1 commit
  2. 27 Aug, 2016 1 commit
  3. 14 Aug, 2016 1 commit
    • Ivan Smirnov's avatar
      format_descriptor::format() now yields std::string · 03fb4885
      Ivan Smirnov authored
      This is required since format descriptors for string types that
      were using PYBIND11_DESCR were causing problems on C++14 on Linux.
      
      Although this is technically a breaking change, it shouldn't cause
      problems since the only use of format strings is passing them to
      buffer_info constructor which expects std::string.
      
      Note: for non-structured types, the const char * value is still
      accessible via ::value for compatibility purpose.
      03fb4885
  4. 13 Aug, 2016 6 commits
  5. 12 Aug, 2016 1 commit
    • Jason Rhinelander's avatar
      Added pybind11::make_key_iterator for map iteration · 5aa85be2
      Jason Rhinelander authored
      This allows exposing a dict-like interface to python code, allowing
      iteration over keys via:
      
          for k in custommapping:
              ...
      
      while still allowing iteration over pairs, so that you can also
      implement 'dict.items()' functionality which returns a pair iterator,
      allowing:
      
          for k, v in custommapping.items():
              ...
      
      example-sequences-and-iterators is updated with a custom class providing
      both types of iteration.
      5aa85be2
  6. 10 Aug, 2016 1 commit
    • Jason Rhinelander's avatar
      Implement reference_internal with a keep_alive · f2ecd892
      Jason Rhinelander authored
      reference_internal requires an `instance` field to track the returned
      reference's parent, but that's just a duplication of what
      keep_alive<0,1> does, so use a keep alive to do this to eliminate the
      duplication.
      f2ecd892
  7. 09 Aug, 2016 1 commit
    • Jason Rhinelander's avatar
      Track registered instances that share a pointer address · 1b05ce5b
      Jason Rhinelander authored
      The pointer to the first member of a class instance is the same as the
      pointer to instance itself; pybind11 has some workarounds for this to
      not track registered instances that have a registered parent with the
      same address.  This doesn't work everywhere, however: issue #328 is a
      failure of this for a mutator operator which resolves its argument to
      the parent rather than the child, as is needed in #328.
      
      This commit resolves the issue (and restores tracking of same-address
      instances) by changing registered_instances from an unordered_map to an
      unordered_multimap that allows duplicate instances for the same pointer
      to be recorded, then resolves these differences by checking the type of
      each matched instance when looking up an instance.  (A
      unordered_multimap seems cleaner for this than a unordered_map<list> or
      similar because, the vast majority of the time, the instance will be
      unique).
      1b05ce5b
  8. 19 Jul, 2016 1 commit
  9. 12 Jul, 2016 1 commit
  10. 11 Jul, 2016 1 commit
  11. 01 Jul, 2016 1 commit
  12. 22 Jun, 2016 1 commit
  13. 17 Jun, 2016 1 commit
  14. 14 Jun, 2016 1 commit
  15. 29 May, 2016 1 commit
  16. 28 May, 2016 1 commit
  17. 26 May, 2016 1 commit
  18. 15 May, 2016 2 commits
  19. 11 May, 2016 1 commit
  20. 05 May, 2016 1 commit
  21. 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
  22. 03 May, 2016 1 commit
  23. 01 May, 2016 1 commit
  24. 30 Apr, 2016 4 commits
  25. 26 Apr, 2016 1 commit
  26. 25 Apr, 2016 6 commits