Class GammaCodedIntLabel

  • All Implemented Interfaces:
    it.unimi.dsi.lang.FlyweightPrototype<Label>, Label

    public class GammaCodedIntLabel
    extends AbstractIntLabel
    A natural number represented in γ coding.
    • Constructor Detail

      • GammaCodedIntLabel

        public GammaCodedIntLabel​(java.lang.String key,
                                  int value)
        Creates a new label with given key and value.
        Parameters:
        key - the (only) key.
        value - the value of this label.
      • GammaCodedIntLabel

        public GammaCodedIntLabel​(java.lang.String... key)
        Creates a new γ-coded label using the given key and value 0.
        Parameters:
        key - one string containing the key of this label.
    • Method Detail

      • copy

        public GammaCodedIntLabel copy()
        Description copied from interface: Label
        Returns a copy of this label.
        Returns:
        a new label that copies this one.
      • fromBitStream

        public int fromBitStream​(it.unimi.dsi.io.InputBitStream inputBitStream,
                                 int sourceUnused)
                          throws java.io.IOException
        Fills this label reading a γ-coded natural number from the given input bit stream.
        Parameters:
        inputBitStream - an input bit stream.
        sourceUnused - the source node.
        Returns:
        the number of bits read to fill this lbael.
        Throws:
        java.io.IOException
      • toBitStream

        public int toBitStream​(it.unimi.dsi.io.OutputBitStream outputBitStream,
                               int sourceUnused)
                        throws java.io.IOException
        Writes this label as a γ-coded natural number to the given output bit stream.
        Parameters:
        outputBitStream - an output bit stream.
        sourceUnused - the source node.
        Returns:
        the number of bits written.
        Throws:
        java.io.IOException
      • fixedWidth

        public int fixedWidth()
        Returns -1 (as this label has not a fixed width).
        Returns:
        -1.
      • toSpec

        public java.lang.String toSpec()
        Description copied from interface: Label
        Returns a string representing the specification of this label.

        Each label class can be instantiated in several ways (e.g., FixedWidthIntLabel requires a name for the well-known attribute and a number of bits). This method must return a representation that can be used by ObjectParser to instantiate the class, and consequently there must exist a matching constructor whose arguments are strings.

        There is an equation that must be always satisfied:

         ObjectParser.fromSpec(x.toSpec()).toSpec().equals(x.toSpec())
         
        Returns:
        a string representing the specification of this label.
        See Also:
        ObjectParser.fromSpec(String, Class)