Package it.unimi.dsi.webgraph.labelling
Class GammaCodedIntLabel
java.lang.Object
it.unimi.dsi.webgraph.labelling.AbstractLabel
it.unimi.dsi.webgraph.labelling.AbstractIntLabel
it.unimi.dsi.webgraph.labelling.GammaCodedIntLabel
- All Implemented Interfaces:
FlyweightPrototype<Label>
,Label
public class GammaCodedIntLabel extends AbstractIntLabel
A natural number represented in γ coding.
-
Field Summary
Fields inherited from class it.unimi.dsi.webgraph.labelling.AbstractIntLabel
key, value
Fields inherited from interface it.unimi.dsi.webgraph.labelling.Label
EMPTY_LABEL_ARRAY
-
Constructor Summary
Constructors Constructor Description GammaCodedIntLabel(String... key)
Creates a new γ-coded label using the given key and value 0.GammaCodedIntLabel(String key, int value)
Creates a new label with given key and value. -
Method Summary
Modifier and Type Method Description GammaCodedIntLabel
copy()
Returns a copy of this label.int
fixedWidth()
Returns -1 (as this label has not a fixed width).int
fromBitStream(InputBitStream inputBitStream, int sourceUnused)
Fills this label reading a γ-coded natural number from the given input bit stream.int
toBitStream(OutputBitStream outputBitStream, int sourceUnused)
Writes this label as a γ-coded natural number to the given output bit stream.String
toSpec()
Returns a string representing the specification of this label.String
toString()
Methods inherited from class it.unimi.dsi.webgraph.labelling.AbstractIntLabel
attributeKeys, attributeTypes, equals, get, get, getDouble, getDouble, getFloat, getFloat, getInt, getInt, getLong, getLong, hashCode, wellKnownAttributeKey
Methods inherited from class it.unimi.dsi.webgraph.labelling.AbstractLabel
getBoolean, getBoolean, getByte, getByte, getChar, getChar, getShort, getShort
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface it.unimi.dsi.webgraph.labelling.Label
getBoolean, getBoolean, getByte, getByte, getChar, getChar, getShort, getShort
-
Constructor Details
-
GammaCodedIntLabel
Creates a new label with given key and value.- Parameters:
key
- the (only) key.value
- the value of this label.
-
GammaCodedIntLabel
Creates a new γ-coded label using the given key and value 0.- Parameters:
key
- one string containing the key of this label.
-
-
Method Details
-
copy
Description copied from interface:Label
Returns a copy of this label.- Returns:
- a new label that copies this one.
-
fromBitStream
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:
IOException
-
toBitStream
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:
IOException
-
fixedWidth
public int fixedWidth()Returns -1 (as this label has not a fixed width).- Returns:
- -1.
-
toString
- Overrides:
toString
in classAbstractIntLabel
-
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 byObjectParser
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)
-