code: def fix_calldef_decls(decls, enums, cxx_std):
      
      default_arg_patcher = default_argument_patcher_t(enums, cxx_std)
      # decls should be flat list of all declarations, you want to apply patch on
      for decl in decls:
          default_arg_patcher(decl)
          if isinstance(decl, declarations.casting_operator_t):
              _casting_oper_patcher_(decl)
docs: some times gccxml report typedefs defined in no namespace
      it happens for example in next situation
      template< typename X>
      void ddd(){ typedef typename X::Y YY;}
      if I will fail on this bug next time, the right way to fix it may be
      different