class_docstr: An OrderedSet is a custom MutableSet that remembers its order, so that
  every entry has an index that can be looked up.
  
  Example:
      >>> OrderedSet([1, 1, 2, 3, 2])
      OrderedSet([1, 2, 3])
class_docstr_tok: ["An","OrderedSet","is","a","custom","MutableSet","that","remembers","its","order",",","so","that","every","entry","has","an","index","that","can","be","looked","up",".","Example",":",">",">",">","OrderedSet","(","[","1",",","1",",","2",",","3",",","2","]",")","OrderedSet","(","[","1",",","2",",","3","]",")"]
docstr: Returns all elements that are in this set but not the others.
  
  Example:
      >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]))
      OrderedSet([1, 3])
      >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]), OrderedSet([3]))
      OrderedSet([1])
      >>> OrderedSet([1, 2, 3]) - OrderedSet([2])
      OrderedSet([1, 3])
      >>> OrderedSet([1, 2, 3]).difference()
      OrderedSet([1, 2, 3])
docstr_tok: ["Returns","all","elements","that","are","in","this","set","but","not","the","others",".","Example",":",">",">",">","OrderedSet","(","[","1",",","2",",","3","]",")",".difference","(","OrderedSet","(","[","2","]",")",")","OrderedSet","(","[","1",",","3","]",")",">",">",">","OrderedSet","(","[","1",",","2",",","3","]",")",".difference","(","OrderedSet","(","[","2","]",")",",","OrderedSet","(","[","3","]",")",")","OrderedSet","(","[","1","]",")",">",">",">","OrderedSet","(","[","1",",","2",",","3","]",")","-","OrderedSet","(","[","2","]",")","OrderedSet","(","[","1",",","3","]",")",">",">",">","OrderedSet","(","[","1",",","2",",","3","]",")",".difference","(",")","OrderedSet","(","[","1",",","2",",","3","]",")"]
code: def difference(self, *sets):
      """
      Returns all elements that are in this set but not the others.
  
      Example:
          >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]))
          OrderedSet([1, 3])
          >>> OrderedSet([1, 2, 3]).difference(OrderedSet([2]), OrderedSet([3]))
          OrderedSet([1])
          >>> OrderedSet([1, 2, 3]) - OrderedSet([2])
          OrderedSet([1, 3])
          >>> OrderedSet([1, 2, 3]).difference()
          OrderedSet([1, 2, 3])
      """
      cls = self.__class__
      if sets:
          other = set.union(*map(set, sets))
          items = (item for item in self if item not in other)
      else:
          items = self
      return cls(items)
  
imports: import itertools
  from collections import deque
label_desc: Use image node_id 21 for calling the OrderedSet obj's underlying member method code with example usage: obj.difference() and returns: cls