Range<TYPE extends Comparable<TYPE > >  class 
    abstract 
 
 
    
    
      
        
        
  Implemented types 
  
    
   
        
          Implementers 
           
     
    
  
    Constructors 
    
        
          Range (TYPE?  _start , TYPE?  _end , {bool startInclusive  = true , bool endInclusive  = false  
         
        
          Creates a new range with the given start and end values and inclusion flags.
         
     
   
    
  
    
  
    Methods 
    
        
  compareTo (Range <Comparable  other → int  
   
  
 
  Compares this range to another range. First compare starts of the ranges. If start
of this range is less than the start of the other, return -1, if it's greater, return 1.
If both starts are equal, compare ends of the ranges.
  override 
 
        
  contains (Object ?obj → bool  
   
  
 
  Detect whether this range contains an element.
  
 
        
  end ({bool ?inclusive → TYPE? 
    
  
 
  Returns the end value of the range, optionally with inclusion overridden.
  
 
        
  except (Range <TYPE > that → List <Range <TYPE >   
   
  
 
  The difference between two ranges is the set of all elements that are in this range but not in the other range.
  
 
        
  intersect (Range <TYPE > that → Range <TYPE > ? 
   
  
 
  The intersection of two ranges is the set of all elements that are in both ranges.
  
 
        
  isAdjacentTo (Range <TYPE > that → bool  
   
  
 
  Test whether this range is adjacent to another range. The ranges are adjacent
if the end of this range is the same as the start of the other range or vice versa.
  
 
        
  isSubsetOf (Range <TYPE > that , {bool strict  = false → bool  
   
  
 
  Evaluate whether this range is a subset of another.
  
 
        
  isSupersetOf (Range <TYPE > that , {bool strict  = false → bool  
   
  
 
  Evaluate whether this range is a superset of another.
  
 
        
  newInstance ()
    → Range <TYPE >  
    
  
 
  
  
 
        
  noSuchMethod (Invocation invocation → dynamic 
   
  
 
  Invoked when a nonexistent method or property is accessed.
  inherited 
 
        
  overlaps (Range <TYPE > that → bool  
   
  
 
  Check whether this range overlaps with another range.
  
 
        
  start ({bool ?inclusive → TYPE? 
    
  
 
  Returns the start value of the range, optionally with inclusion overridden.
  
 
        
  toString ()
    → String  
    
  
 
  A string representation of this object.
  override 
 
        
  union (Range <TYPE > that → List <Range <TYPE >   
   
  
 
  The union of two ranges is the set of all elements that are in either range.
  
 
     
   
    
  
    Operators 
    
        
  operator * (Range <TYPE > that → Range <TYPE > ? 
   
  
 
  Operator for the intersection of this range and another range.
  
 
        
  operator + (Range <TYPE > that → List <Range <TYPE >   
   
  
 
  Operator for the union of this range and another range.
  
 
        
  operator - (Range <TYPE > that → List <Range <TYPE >   
   
  
 
  Operator for the difference between this range and another range.
  
 
        
  operator == (Object that → bool  
   
  
 
  Ranges are equal if they have same start and end dates and inclusions.
  override