class_docstr: A case insensitive string class; behaves just like str
  except compares equal when the only variation is case.
  
  >>> s = FoldedCase('hello world')
  
  >>> s == 'Hello World'
  True
  
  >>> 'Hello World' == s
  True
  
  >>> s != 'Hello World'
  False
  
  >>> s.index('O')
  4
  
  >>> s.split('O')
  ['hell', ' w', 'rld']
  
  >>> sorted(map(FoldedCase, ['GAMMA', 'alpha', 'Beta']))
  ['alpha', 'Beta', 'GAMMA']
  
  Sequence membership is straightforward.
  
  >>> "Hello World" in [s]
  True
  >>> s in ["Hello World"]
  True
  
  You may test for set inclusion, but candidate and elements
  must both be folded.
  
  >>> FoldedCase("Hello World") in {s}
  True
  >>> s in {FoldedCase("Hello World")}
  True
  
  String inclusion works as long as the FoldedCase object
  is on the right.
  
  >>> "hello" in FoldedCase("Hello World")
  True
  
  But not if the FoldedCase object is on the left:
  
  >>> FoldedCase('hello') in 'Hello World'
  False
  
  In that case, use ``in_``:
  
  >>> FoldedCase('hello').in_('Hello World')
  True
  
  >>> FoldedCase('hello') > FoldedCase('Hello')
  False
class_docstr_tok: ["A","case","insensitive","string","class",";","behaves","just","like","str","except","compares","equal","when","the","only","variation","is","case",".",">",">",">","s","=","FoldedCase","(","'hello","world","'",")",">",">",">","s","==","'Hello","World'","True",">",">",">","'Hello","World","'","==","s","True",">",">",">","s","!","=","'Hello","World'","False",">",">",">","s.index","(","'","O","'",")","4",">",">",">","s.split","(","'","O","'",")","[","'hell","'",",","'","w","'",",","'rld","'","]",">",">",">","sorted","(","map","(","FoldedCase",",","[","'GAMMA","'",",","'alpha","'",",","'Beta","'","]",")",")","[","'alpha","'",",","'Beta","'",",","'GAMMA","'","]","Sequence","membership","is","straightforward",".",">",">",">","``","Hello","World","''","in","[","s","]","True",">",">",">","s","in","[","``","Hello","World","''","]","True","You","may","test","for","set","inclusion",",","but","candidate","and","elements","must","both","be","folded",".",">",">",">","FoldedCase","(","``","Hello","World","''",")","in","{","s","}","True",">",">",">","s","in","{","FoldedCase","(","``","Hello","World","''",")","}","True","String","inclusion","works","as","long","as","the","FoldedCase","object","is","on","the","right",".",">",">",">","``","hello","''","in","FoldedCase","(","``","Hello","World","''",")","True","But","not","if","the","FoldedCase","object","is","on","the","left",":",">",">",">","FoldedCase","(","'hello","'",")","in","'Hello","World'","False","In","that","case",",","use","``","in_","``",":",">",">",">","FoldedCase","(","'hello","'",")",".in_","(","'Hello","World","'",")","True",">",">",">","FoldedCase","(","'hello","'",")",">","FoldedCase","(","'Hello","'",")","False"]
code: def __ne__(self, other):
      return self.lower() != other.lower()
  
imports: import re
  import itertools
  import textwrap
  import functools
  from pkg_resources.extern.jaraco.functools import compose, method_cache
  from pkg_resources.extern.jaraco.context import ExceptionTrap
label_desc: Use image node_id 4 for calling the FoldedCase obj's underlying member method code with example usage: obj.__ne__(other) and returns: unknown