auto_ptr.py
来自「Boost provides free peer-reviewed portab」· Python 代码 · 共 101 行
PY
101 行
# Copyright David Abrahams 2004. Distributed under the Boost# Software License, Version 1.0. (See accompanying# file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)'''>>> from auto_ptr_ext import *>>> x = X(42)>>> x.value()42>>> look(x), look(x)(42, 42)>>> maybe_steal(x, 0)42>>> look(x)42>>> maybe_steal(x, 1)42>>> broken_auto_ptr and -1 or look(x)-1>>> x = X(69)>>> steal(x)69>>> broken_auto_ptr and -1 or look(x)-1>>> if not broken_auto_ptr:... try: x.value()... except TypeError: pass... else: print 'expected a TypeError exception'>>> x = make()>>> look(x)77>>> z = callback(lambda z: z)>>> z.value()77>>> extract(x).value()77## Test derived to base conversions#>>> y = Y(42)>>> y.value()42>>> try: maybe_steal(y, 0)... except TypeError: pass... else: print 'expected a TypeError exception'>>> y.value()42>>> broken_auto_ptr and 42 or steal(y)42>>> if not broken_auto_ptr:... try: y.value()... except TypeError: pass... else: print 'expected a TypeError exception'>>> print look.__doc__.splitlines()[1]look( (X)arg1) -> int :>>> print steal.__doc__.splitlines()[1]steal( (X)arg1) -> int :>>> print maybe_steal.__doc__.splitlines()[1]maybe_steal( (X)arg1, (bool)arg2) -> int :>>> print make.__doc__.splitlines()[1]make() -> X :>>> print callback.__doc__.splitlines()[1]callback( (object)arg1) -> X :>>> print extract.__doc__.splitlines()[1]extract( (object)arg1) -> X :'''def run(args = None): import sys import doctest if args is not None: sys.argv = args return doctest.testmod(sys.modules.get(__name__)) if __name__ == '__main__': print "running..." import sys status = run()[0] if (status == 0): print "Done." sys.exit(status)
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?