class_docstr: Provide a few methods necessary to support nipype interface api
  
  The inputs attribute of interfaces call certain methods that are not
  available in traits.HasTraits. These are provided here.
  
  new metadata:
  
  * usedefault : set this to True if the default value of the trait should be
    used. Unless this is set, the attributes are set to traits.Undefined
  
  new attribute:
  
  * get_hashval : returns a tuple containing the state of the trait as a dict
    and hashvalue corresponding to dict.
  
  XXX Reconsider this in the long run, but it seems like the best
  solution to move forward on the refactoring.
class_docstr_tok: ["Provide","a","few","methods","necessary","to","support","nipype","interface","api","The","inputs","attribute","of","interfaces","call","certain","methods","that","are","not","available","in","traits.HasTraits",".","These","are","provided","here",".","new","metadata",":","*","usedefault",":","set","this","to","True","if","the","default","value","of","the","trait","should","be","used",".","Unless","this","is","set",",","the","attributes","are","set","to","traits.Undefined","new","attribute",":","*","get_hashval",":","returns","a","tuple","containing","the","state","of","the","trait","as","a","dict","and","hashvalue","corresponding","to","dict",".","XXX","Reconsider","this","in","the","long","run",",","but","it","seems","like","the","best","solution","to","move","forward","on","the","refactoring","."]
docstr: Name, trait generator for user modifiable traits
docstr_tok: ["Name",",","trait","generator","for","user","modifiable","traits"]
code: def items(self):
      """Name, trait generator for user modifiable traits"""
      for name in sorted(self.copyable_trait_names()):
          yield name, self.traits()[name]
  
imports: import os
  from inspect import isclass
  from copy import deepcopy
  from warnings import warn
  from packaging.version import Version
  from traits.trait_errors import TraitError
  from traits.trait_handlers import TraitDictObject, TraitListObject
  from ...utils.filemanip import md5, hash_infile, hash_timestamp
  from .traits_extension import traits, File, Str, Undefined, isdefined, has_metadata, OutputMultiObject
  from ...None import config, __version__
label_desc: Use image node_id 2 for calling the BaseTraitedSpec obj's underlying member method code with example usage: obj.items() without return types