blob: 91c075c755ea77bd630279d10f6b1823b5fc9c49 [file] [log] [blame]
Wenzel Jakob57082212015-09-04 23:42:12 +02001#!/usr/bin/env python
2from __future__ import print_function
Wenzel Jakob38bd7112015-07-05 20:05:44 +02003import sys
4sys.path.append('.')
5
6import example
7
8print(example.__name__)
9print(example.submodule.__name__)
10
11from example.submodule import *
Wenzel Jakobdb028d62015-10-13 23:44:25 +020012from example import OD
Wenzel Jakob38bd7112015-07-05 20:05:44 +020013
14submodule_func()
15
16b = B()
17print(b.get_a1())
18print(b.a1)
19print(b.get_a2())
20print(b.a2)
21
22b.a1 = A(42)
23b.a2 = A(43)
24
25print(b.get_a1())
26print(b.a1)
27print(b.get_a2())
28print(b.a2)
29
Wenzel Jakobdb028d62015-10-13 23:44:25 +020030print(OD([(1, 'a'), (2, 'b')]))
Jason Rhinelander3f589372016-08-07 13:05:26 -040031
32from example import ConstructorStats
33
34cstats = [ConstructorStats.get(A), ConstructorStats.get(B)]
35print("Instances not destroyed:", [x.alive() for x in cstats])
36b = None
37print("Instances not destroyed:", [x.alive() for x in cstats])
38print("Constructor values:", [x.values() for x in cstats])
39print("Default constructions:", [x.default_constructions for x in cstats])
40print("Copy constructions:", [x.copy_constructions for x in cstats])
41#print("Move constructions:", [x.move_constructions >= 0 for x in cstats]) # Don't invoke any
42print("Copy assignments:", [x.copy_assignments for x in cstats])
43print("Move assignments:", [x.move_assignments for x in cstats])