stl_iterator.py 823 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. # Copyright Eric Niebler 2005. Distributed under the Boost
  2. # Software License, Version 1.0. (See accompanying
  3. # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. '''
  5. >>> from stl_iterator_ext import *
  6. >>> x = list_int()
  7. >>> x.assign(iter([1,2,3,4,5]))
  8. >>> for y in x:
  9. ... print(y)
  10. 1
  11. 2
  12. 3
  13. 4
  14. 5
  15. >>> def generator():
  16. ... yield 1
  17. ... yield 2
  18. ... raise RuntimeError("oops")
  19. >>> try:
  20. ... x.assign(iter(generator()))
  21. ... print("NOT OK")
  22. ... except RuntimeError:
  23. ... print("OK")
  24. OK
  25. '''
  26. def run(args = None):
  27. import sys
  28. import doctest
  29. if args is not None:
  30. sys.argv = args
  31. return doctest.testmod(sys.modules.get(__name__))
  32. if __name__ == '__main__':
  33. print("running...")
  34. import sys
  35. status = run()[0]
  36. if (status == 0): print("Done.")
  37. sys.exit(status)