def is_unary_operator(oper):
<EOL>symbols = ['<STR_LIT:!>', '<STR_LIT:&>', '<STR_LIT>', '<STR_LIT:*>', '<STR_LIT:+>', '<STR_LIT>', '<STR_LIT:->', '<STR_LIT>']<EOL>if not isinstance(oper, calldef_members.operator_t):<EOL><INDENT>return False<EOL><DEDENT>if oper.symbol not in symbols:<EOL><INDENT>return False<EOL><DEDENT>if isinstance(oper, calldef_members.member_operator_t):<EOL><INDENT>if len(oper.arguments) == <NUM_LIT:0>:<EOL><INDENT>return True<EOL><DEDENT>elif oper.symbol in ['<STR_LIT>', '<STR_LIT>'] andisinstance(oper.arguments[<NUM_LIT:0>].decl_type, cpptypes.int_t):<EOL><INDENT>return True<EOL><DEDENT>return False<EOL><DEDENT>if len(oper.arguments) == <NUM_LIT:1>:<EOL><INDENT>return True<EOL><DEDENT>elif oper.symbol in ['<STR_LIT>', '<STR_LIT>']and len(oper.arguments) == <NUM_LIT:2>and isinstance(oper.arguments[<NUM_LIT:1>].decl_type, cpptypes.int_t):<EOL><INDENT>return True<EOL><DEDENT>return False<EOL>
returns True, if operator is unary operator, otherwise False