import os
from xdress.utils import apiname

package = 'cppproj'
packagedir = 'cppproj'
includes = ['src']

plugins = ('xdress.autoall', 'xdress.pep8names', 'xdress.cythongen', 
           'xdress.stlwrap', )

extra_types = 'cppproj_extra_types'  # non-default value

dtypes = [
    ('map', 'str', 'int'),
    ('set', 'int'),
    'float32',
    ('vector', 'int32'),
    'ThreeNums',
    ]

stlcontainers = [
    ('pair', 'int', ('vector', 'int')),
    ('pair', 'int', 'str'),
    ('pair', 'int', 'int'),
    ('pair', 'int', 'SomeCrazyPairValue'),
    ('pair', 'ThreeNums', 'int'),
    ('vector', 'float64'),
    ('vector', 'str'),
    ('vector', 'int32'),
    ('vector', 'complex'),
    ('vector', ('vector', 'float64')),
    ('set', 'int'),
    ('set', 'str'),
    ('set', 'uint'),
    ('set', 'char'),
    ('set', 'ThreeNums'),
    ('map', 'str', 'str'),
    ('map', 'str', 'int'),
    ('map', 'int', 'str'),
    ('map', 'str', 'uint'),
    ('map', 'uint', 'str'),
    ('map', 'uint', 'uint'),
    ('map', 'str', 'float'),
    ('map', 'ThreeNums', 'float'),
    ('map', 'int', 'int'),
    ('map', 'int', 'bool'),
    ('map', 'int', 'char'),
    ('map', 'int', 'float'),
    ('map', 'uint', 'float'),
    ('map', 'int', 'complex'),
    ('map', ('pair', 'int', 'int'), 'float'),
    ('map', 'int', ('set', 'int')),
    ('map', 'int', ('set', 'str')),
    ('map', 'int', ('set', 'uint')),
    ('map', 'int', ('set', 'char')),
    ('map', 'int', ('vector', 'str')),
    ('map', 'int', ('vector', 'int')),
    ('map', 'int', ('vector', 'uint')),
    ('map', 'int', ('vector', 'char')),
    ('map', 'int', ('vector', 'bool')),
    ('map', 'int', ('vector', 'float')),
    ('map', 'int', ('vector', ('vector', 'float64'))),
    ('map', 'int', ('map', 'int', 'bool')),
    ('map', 'int', ('map', 'int', 'char')),
    ('map', 'int', ('map', 'int', 'float')),
    ('map', 'int', ('map', 'int', ('vector', 'bool'))),
    ('map', 'int', ('map', 'int', ('vector', 'char'))),
    ('map', 'int', ('map', 'int', ('vector', 'float'))),
    ('map', 'int', ('vector', ('set', 'int'))),
    ]

dtypes_module = 'dt'
stlcontainers_module = 'stlc'

_fromsrcdir = lambda x: os.path.join('src', x)
_inbasics = {'srcfiles': _fromsrcdir('basics.[ch]*'),
             'incfiles': 'basics.hpp',  # trick to get around cython generating *.h
             'language': 'c++',
             }
_indiscovery = {'srcfiles': _fromsrcdir('discovery*'),
                'incfiles': 'discovery.h',
                'language': 'c++',
                }

variables = [
    apiname('PersonID', tarbase='pybasics', **_inbasics),
    apiname('*', **_indiscovery),
    ]

functions = [
    apiname('voided', **_inbasics),
    apiname('pairs_be_crazy', tarbase='pybasics', **_inbasics),
    apiname('call_with_void_fp_struct', **_inbasics), 
    {'srcname': 'func0', 
     'tarname': 'a_better_name',
     'incfiles': 'basics.h',
     'srcfiles': _fromsrcdir('basics.[ch]*')},
    apiname('func1', **_inbasics),
    apiname('func2', **_inbasics),
    apiname('func3', **_inbasics),
    apiname('func4', tarbase='pybasics', **_inbasics),
    apiname('setfunc', **_inbasics),
    apiname(('findmin', 'int32', 'float32',), **_inbasics), 
    apiname(('findmin', 'float64', 'float32',), **_inbasics), 
    {'srcname': ('findmin', 'int', 'int',), 
     'incfiles': 'basics.h',
     'tarname': ('regmin', 'int', 'int',), 
     'srcfiles': _fromsrcdir('basics.[ch]*')}, 
    {'srcname': ('findmin', 'bool', 'bool',), 
     'tarname': 'sillyBoolMin', 
     'incfiles': 'basics.h',
     'srcfiles': _fromsrcdir('basics.[ch]*')}, 
    apiname(('lessthan', 'int32', 3,), **_inbasics),
    apiname('call_threenums_op_from_c', tarbase='pybasics', **_inbasics),
    apiname('*', **_indiscovery),
    ]

classes = [
    #apiname('struct0', 'basics', 'pybasics', 'My_Struct_0'),  FIXME This needs more work
    apiname('Union0', **_inbasics),
    apiname('VoidFPStruct', **_inbasics),
    apiname('A', **_inbasics),
    apiname('B', **_inbasics),
    apiname('C', **_inbasics),
    apiname('SomeCrazyPairValue', tarbase='pybasics', **_inbasics),
    # apiname('SomeCrazyPairValue', **_inbasics),
    apiname(('TClass1', 'int32'), **_inbasics), 
    apiname(('TClass1', 'float64'), **_inbasics), 
    {'srcname': ('TClass1', 'float32'), 
     'tarname': 'TC1Floater', 
     'incfiles': 'basics.h',
     'srcfiles': _fromsrcdir('basics.[ch]*')}, 
    apiname(('TClass0', 'int32'), **_inbasics), 
    apiname(('TClass0', 'float64'), **_inbasics), 
    {'srcname': ('TClass0', 'bool'), 
     'tarname': ('TC0Bool', 'bool'),
     'incfiles': 'basics.h',
     'srcfiles': _fromsrcdir('basics.[ch]*')}, 
    apiname('Untemplated', **_inbasics), 
    apiname('ThreeNums', tarbase='pybasics', **_inbasics),
    apiname('*', **_indiscovery),
    apiname(('TClass0', 'float32'), **_inbasics), 
    apiname(('TClass2', 'float32'), **_inbasics), 
    apiname('NoDefault', **_inbasics), 
    apiname('NoDefaultChild', **_inbasics), 
    apiname(('EnumArg', 'JOAN'), tarbase='pybasics', **_inbasics),
    ]

del os
del apiname


[((2151, 2173), 'os.path.join', 'os.path.join', (['"""src"""', 'x'], {}), "('src', x)\n", (2163, 2173), False, 'import os\n'), ((2529, 2581), 'xdress.utils.apiname', 'apiname', (['"""PersonID"""'], {'tarbase': '"""pybasics"""'}), "('PersonID', tarbase='pybasics', **_inbasics)\n", (2536, 2581), False, 'from xdress.utils import apiname\n'), ((2587, 2615), 'xdress.utils.apiname', 'apiname', (['"""*"""'], {}), "('*', **_indiscovery)\n", (2594, 2615), False, 'from xdress.utils import apiname\n'), ((2642, 2672), 'xdress.utils.apiname', 'apiname', (['"""voided"""'], {}), "('voided', **_inbasics)\n", (2649, 2672), False, 'from xdress.utils import apiname\n'), ((2678, 2736), 'xdress.utils.apiname', 'apiname', (['"""pairs_be_crazy"""'], {'tarbase': '"""pybasics"""'}), "('pairs_be_crazy', tarbase='pybasics', **_inbasics)\n", (2685, 2736), False, 'from xdress.utils import apiname\n'), ((2742, 2790), 'xdress.utils.apiname', 'apiname', (['"""call_with_void_fp_struct"""'], {}), "('call_with_void_fp_struct', **_inbasics)\n", (2749, 2790), False, 'from xdress.utils import apiname\n'), ((2932, 2961), 'xdress.utils.apiname', 'apiname', (['"""func1"""'], {}), "('func1', **_inbasics)\n", (2939, 2961), False, 'from xdress.utils import apiname\n'), ((2967, 2996), 'xdress.utils.apiname', 'apiname', (['"""func2"""'], {}), "('func2', **_inbasics)\n", (2974, 2996), False, 'from xdress.utils import apiname\n'), ((3002, 3031), 'xdress.utils.apiname', 'apiname', (['"""func3"""'], {}), "('func3', **_inbasics)\n", (3009, 3031), False, 'from xdress.utils import apiname\n'), ((3037, 3086), 'xdress.utils.apiname', 'apiname', (['"""func4"""'], {'tarbase': '"""pybasics"""'}), "('func4', tarbase='pybasics', **_inbasics)\n", (3044, 3086), False, 'from xdress.utils import apiname\n'), ((3092, 3123), 'xdress.utils.apiname', 'apiname', (['"""setfunc"""'], {}), "('setfunc', **_inbasics)\n", (3099, 3123), False, 'from xdress.utils import apiname\n'), ((3129, 3182), 'xdress.utils.apiname', 'apiname', (["('findmin', 'int32', 'float32')"], {}), "(('findmin', 'int32', 'float32'), **_inbasics)\n", (3136, 3182), False, 'from xdress.utils import apiname\n'), ((3190, 3245), 'xdress.utils.apiname', 'apiname', (["('findmin', 'float64', 'float32')"], {}), "(('findmin', 'float64', 'float32'), **_inbasics)\n", (3197, 3245), False, 'from xdress.utils import apiname\n'), ((3576, 3622), 'xdress.utils.apiname', 'apiname', (["('lessthan', 'int32', 3)"], {}), "(('lessthan', 'int32', 3), **_inbasics)\n", (3583, 3622), False, 'from xdress.utils import apiname\n'), ((3629, 3697), 'xdress.utils.apiname', 'apiname', (['"""call_threenums_op_from_c"""'], {'tarbase': '"""pybasics"""'}), "('call_threenums_op_from_c', tarbase='pybasics', **_inbasics)\n", (3636, 3697), False, 'from xdress.utils import apiname\n'), ((3703, 3731), 'xdress.utils.apiname', 'apiname', (['"""*"""'], {}), "('*', **_indiscovery)\n", (3710, 3731), False, 'from xdress.utils import apiname\n'), ((3846, 3876), 'xdress.utils.apiname', 'apiname', (['"""Union0"""'], {}), "('Union0', **_inbasics)\n", (3853, 3876), False, 'from xdress.utils import apiname\n'), ((3882, 3918), 'xdress.utils.apiname', 'apiname', (['"""VoidFPStruct"""'], {}), "('VoidFPStruct', **_inbasics)\n", (3889, 3918), False, 'from xdress.utils import apiname\n'), ((3924, 3949), 'xdress.utils.apiname', 'apiname', (['"""A"""'], {}), "('A', **_inbasics)\n", (3931, 3949), False, 'from xdress.utils import apiname\n'), ((3955, 3980), 'xdress.utils.apiname', 'apiname', (['"""B"""'], {}), "('B', **_inbasics)\n", (3962, 3980), False, 'from xdress.utils import apiname\n'), ((3986, 4011), 'xdress.utils.apiname', 'apiname', (['"""C"""'], {}), "('C', **_inbasics)\n", (3993, 4011), False, 'from xdress.utils import apiname\n'), ((4017, 4079), 'xdress.utils.apiname', 'apiname', (['"""SomeCrazyPairValue"""'], {'tarbase': '"""pybasics"""'}), "('SomeCrazyPairValue', tarbase='pybasics', **_inbasics)\n", (4024, 4079), False, 'from xdress.utils import apiname\n'), ((4135, 4177), 'xdress.utils.apiname', 'apiname', (["('TClass1', 'int32')"], {}), "(('TClass1', 'int32'), **_inbasics)\n", (4142, 4177), False, 'from xdress.utils import apiname\n'), ((4184, 4228), 'xdress.utils.apiname', 'apiname', (["('TClass1', 'float64')"], {}), "(('TClass1', 'float64'), **_inbasics)\n", (4191, 4228), False, 'from xdress.utils import apiname\n'), ((4384, 4426), 'xdress.utils.apiname', 'apiname', (["('TClass0', 'int32')"], {}), "(('TClass0', 'int32'), **_inbasics)\n", (4391, 4426), False, 'from xdress.utils import apiname\n'), ((4433, 4477), 'xdress.utils.apiname', 'apiname', (["('TClass0', 'float64')"], {}), "(('TClass0', 'float64'), **_inbasics)\n", (4440, 4477), False, 'from xdress.utils import apiname\n'), ((4636, 4671), 'xdress.utils.apiname', 'apiname', (['"""Untemplated"""'], {}), "('Untemplated', **_inbasics)\n", (4643, 4671), False, 'from xdress.utils import apiname\n'), ((4678, 4731), 'xdress.utils.apiname', 'apiname', (['"""ThreeNums"""'], {'tarbase': '"""pybasics"""'}), "('ThreeNums', tarbase='pybasics', **_inbasics)\n", (4685, 4731), False, 'from xdress.utils import apiname\n'), ((4737, 4765), 'xdress.utils.apiname', 'apiname', (['"""*"""'], {}), "('*', **_indiscovery)\n", (4744, 4765), False, 'from xdress.utils import apiname\n'), ((4771, 4815), 'xdress.utils.apiname', 'apiname', (["('TClass0', 'float32')"], {}), "(('TClass0', 'float32'), **_inbasics)\n", (4778, 4815), False, 'from xdress.utils import apiname\n'), ((4822, 4866), 'xdress.utils.apiname', 'apiname', (["('TClass2', 'float32')"], {}), "(('TClass2', 'float32'), **_inbasics)\n", (4829, 4866), False, 'from xdress.utils import apiname\n'), ((4873, 4906), 'xdress.utils.apiname', 'apiname', (['"""NoDefault"""'], {}), "('NoDefault', **_inbasics)\n", (4880, 4906), False, 'from xdress.utils import apiname\n'), ((4913, 4951), 'xdress.utils.apiname', 'apiname', (['"""NoDefaultChild"""'], {}), "('NoDefaultChild', **_inbasics)\n", (4920, 4951), False, 'from xdress.utils import apiname\n'), ((4958, 5019), 'xdress.utils.apiname', 'apiname', (["('EnumArg', 'JOAN')"], {'tarbase': '"""pybasics"""'}), "(('EnumArg', 'JOAN'), tarbase='pybasics', **_inbasics)\n", (4965, 5019), False, 'from xdress.utils import apiname\n')]