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 + -
显示快捷键?