コード例 #1
0
ファイル: traits.py プロジェクト: ziavengers/ZIA
from generator import loadfile, replace_args

TRAITS_TYPE_PARAM = loadfile('traits_type_param.tpl.hpp')

def getargs(n):
    args = {
        'n' : n,
        'typenames' : ', '.join('typename P%d' % i for i in range(1, n + 1)),
        'type_params' : '\n'.join(
            replace_args(TRAITS_TYPE_PARAM, {'i' : i}) for i in range(1, n + 1)
            ),
        'templates_type_params' : ('< ' + ', '.join('Type_Param%d' % i for i in range(1, n + 1)) + ' >') if n else ''
        }
    return args
コード例 #2
0
ファイル: bind.py プロジェクト: ziavengers/ZIA
from generator import loadfile, replace_args

BIND_P_TYPE = loadfile('bind_p_type.tpl.hpp')

def getargs(n):
    args = {
        'n' : n,
        'X_typenames' : (', ' + ', '.join('typename X%d' % i for i in range(1, n + 1))) if n else '',
        'Param_typenames' : (', ' + ', '.join('typename Param%d' % i for i in range(1, n + 1))) if n else '',
        'Param_templates' : ('< ' + ', '.join('Param%d' % i for i in range(1, n + 1)) + ' >') if n else '',
        'X_params' : ', '.join('X%d' % i for i in range(1, n + 1)),
        'X_params_' : (', ' + ', '.join('X%d' % i for i in range(1, n + 1))) if n else '',
        'Param_params' : (', ' + ', '.join('Param%d p%d' % (i, i) for i in range(1, n + 1))) if n else '',
        'Param_params_simple' : ('(' + ', '.join('p%d' % i for i in range(1, n + 1)) + ')') if n else '',
        'P_types' : '\n'.join(
            replace_args(BIND_P_TYPE, {'i' : i}) for i in range(1, n + 1)
            ),
        'P_templates' : ('< ' + ', '.join('P%d' % i for i in range(1, n + 1)) + ' >') if n else '',
        'get_Param_type_names' : ' + std::string(", ") + '.join('std::string(getTypeName(Param%d))' % i for i in range(1, n + 1)) if n else '""'
        }
    return args
コード例 #3
0
ファイル: typelist.py プロジェクト: ziavengers/ZIA
from generator import loadfile, replace_args

TYPELIST_SETTERS = loadfile('typelist_setters.tpl.hpp')

def getargs(n):
    args = {
        'n' : n,
        'typenames' : ', '.join('typename P%d' % i for i in range(1, n + 1)),
        'templates' : ('< ' + ', '.join('P%d' % i for i in range(1, n + 1)) + ' >') if n else '',
        'params' : ', '.join('P%d p%d' % (i, i) for i in range(1, n + 1)),
        'params_names' : ', '.join('p%d' % i for i in range(1, n + 1)),
        'list_params' : ',\n'.join('list[BaseClass::_t%d]' % i for i in range(1, n + 1)),
        'list_params_next' : ',\n'.join('list[BaseClass::_t%d]' % i for i in range(2, n + 1)),
        'setters' : '\n'.join(
            replace_args(TYPELIST_SETTERS, {'i' : i}) for i in range(1, n + 1)
            ),
        'setters_members' : '\n'.join(
            replace_args(TYPELIST_SETTERS, {'i' : i}) for i in range(2, n + 1)
            )
        }
    return args
コード例 #4
0
ファイル: paramcaller.py プロジェクト: ziavengers/ZIA
from generator import loadfile, replace_args

PARAMCALLER_SETTERS = loadfile('paramcaller_setters.tpl.hpp')

def getargs(n):
    args = {
        'setters' : '\n'.join(
            replace_args(PARAMCALLER_SETTERS, {'i' : i}) for i in range(1, n + 1)
            )
        }
    return args