Class Bits<T extends Bits<T>>

java.lang.Object
org.robovm.rt.bro.Bits<T>
All Implemented Interfaces:
Comparable<T>, Iterable<T>

public abstract class Bits<T extends Bits<T>>
extends Object
implements Iterable<T>, Comparable<T>
  • Nested Class Summary

    Nested Classes
    Modifier and Type Class Description
    static class  Bits.AsByteMarshaler
    Marshals a Bits as an 8-bit value.
    static class  Bits.AsIntMarshaler
    Marshals a Bits as a 32-bit value.
    static class  Bits.AsLongMarshaler
    Marshals a Bits as a 64-bit value.
    static class  Bits.AsMachineSizedIntMarshaler
    Marshals a Bits as a 32-bit or 64-bit value depending on the machine word size.
    static class  Bits.AsShortMarshaler
    Marshals a Bits as a 16-bit value.
  • Constructor Summary

    Constructors
    Modifier Constructor Description
    protected Bits​(long value)  
    protected Bits​(long value, long mask)  
  • Method Summary

    Modifier and Type Method Description
    protected abstract T[] _values()  
    protected static <T extends Bits<T>>
    T[]
    _values​(Class<T> cls)  
    Set<T> asSet()  
    T clear​(T bits)  
    int compareTo​(T another)
    Compares this object to the specified object to determine their relative order.
    boolean contains​(T bits)  
    boolean equals​(Object obj)
    Compares this instance with the specified object and indicates if they are equal.
    int hashCode()
    Returns an integer hash code for this object.
    Iterator<T> iterator()
    Returns an Iterator for the elements in this object.
    T set​(T bits)  
    String toString()
    Returns a string containing a concise, human-readable description of this object.
    long value()  
    static <T extends Bits<T>>
    T
    with​(T t)  
    static <T extends Bits<T>>
    T
    with​(T t1, T t2)  
    static <T extends Bits<T>>
    T
    with​(T start, T... others)  
    static <T extends Bits<T>>
    T
    with​(T t1, T t2, T t3)  
    static <T extends Bits<T>>
    T
    with​(T t1, T t2, T t3, T t4)  
    static <T extends Bits<T>>
    T
    with​(T t1, T t2, T t3, T t4, T t5)  
    protected abstract T wrap​(long value, long mask)  

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait
  • Constructor Details

    • Bits

      protected Bits​(long value)
    • Bits

      protected Bits​(long value, long mask)
  • Method Details

    • with

      public static <T extends Bits<T>> T with​(T t)
    • with

      public static <T extends Bits<T>> T with​(T t1, T t2)
    • with

      public static <T extends Bits<T>> T with​(T t1, T t2, T t3)
    • with

      public static <T extends Bits<T>> T with​(T t1, T t2, T t3, T t4)
    • with

      public static <T extends Bits<T>> T with​(T t1, T t2, T t3, T t4, T t5)
    • with

      @SafeVarargs public static <T extends Bits<T>> T with​(T start, T... others)
    • value

      public long value()
    • wrap

      protected abstract T wrap​(long value, long mask)
    • _values

      protected abstract T[] _values()
    • set

      public T set​(T bits)
    • clear

      public T clear​(T bits)
    • contains

      public boolean contains​(T bits)
    • iterator

      public Iterator<T> iterator()
      Description copied from interface: Iterable
      Returns an Iterator for the elements in this object.
      Specified by:
      iterator in interface Iterable<T extends Bits<T>>
      Returns:
      An Iterator instance.
    • asSet

      public Set<T> asSet()
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns an integer hash code for this object. By contract, any two objects for which Object.equals(java.lang.Object) returns true must return the same hash code value. This means that subclasses of Object usually override both methods or neither method.

      Note that hash values must not change over time unless information used in equals comparisons also changes.

      See Writing a correct hashCode method if you intend implementing your own hashCode method.

      Overrides:
      hashCode in class Object
      Returns:
      this object's hash code.
      See Also:
      Object.equals(java.lang.Object)
    • equals

      public boolean equals​(Object obj)
      Description copied from class: Object
      Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be reflexive, symmetric, and transitive. Also, no object reference other than null is equal to null.

      The default implementation returns true only if this == o. See Writing a correct equals method if you intend implementing your own equals method.

      The general contract for the equals and Object.hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or neither of them.

      Overrides:
      equals in class Object
      Parameters:
      obj - the object to compare this instance with.
      Returns:
      true if the specified object is equal to this Object; false otherwise.
      See Also:
      Object.hashCode()
    • compareTo

      public int compareTo​(T another)
      Description copied from interface: Comparable
      Compares this object to the specified object to determine their relative order.
      Specified by:
      compareTo in interface Comparable<T extends Bits<T>>
      Parameters:
      another - the object to compare to this instance.
      Returns:
      a negative integer if this instance is less than another; a positive integer if this instance is greater than another; 0 if this instance has the same order as another.
    • toString

      public String toString()
      Description copied from class: Object
      Returns a string containing a concise, human-readable description of this object. Subclasses are encouraged to override this method and provide an implementation that takes into account the object's type and data. The default implementation is equivalent to the following expression:
         getClass().getName() + '@' + Integer.toHexString(hashCode())

      See Writing a useful toString method if you intend implementing your own toString method.

      Overrides:
      toString in class Object
      Returns:
      a printable representation of this object.
    • _values

      protected static <T extends Bits<T>> T[] _values​(Class<T> cls)