1. 10 Jun, 2017 1 commit
  2. 26 Feb, 2017 3 commits
    • Dean Moldovan's avatar
      Add lightweight iterators for tuple, list and sequence · 5637af7b
      Dean Moldovan authored
      Slightly reduces binary size (range for loops over tuple/list benefit
      a lot). The iterators are compatible with std algorithms.
      5637af7b
    • Dean Moldovan's avatar
      Make py::iterator compatible with std algorithms · 1fac1b9f
      Dean Moldovan authored
      The added type aliases are required by `std::iterator_traits`.
      Python iterators satisfy the `InputIterator` concept in C++.
      1fac1b9f
    • Dean Moldovan's avatar
      Handle all py::iterator errors · f7685826
      Dean Moldovan authored
      Before this, `py::iterator` didn't do any error handling, so code like:
      ```c++
      for (auto item : py::int_(1)) {
          // ...
      }
      ```
      would just silently skip the loop. The above now throws `TypeError` as
      expected. This is a breaking behavior change, but any code which relied
      on the silent skip was probably broken anyway.
      
      Also, errors returned by `PyIter_Next()` are now properly handled.
      f7685826
  3. 20 Nov, 2016 1 commit
  4. 24 Aug, 2016 1 commit
  5. 19 Aug, 2016 1 commit
    • Dean Moldovan's avatar
      Port tests to pytest · a0c1ccf0
      Dean Moldovan authored
      Use simple asserts and pytest's powerful introspection to make testing
      simpler. This merges the old .py/.ref file pairs into simple .py files
      where the expected values are right next to the code being tested.
      
      This commit does not touch the C++ part of the code and replicates the
      Python tests exactly like the old .ref-file-based approach.
      a0c1ccf0