Class Trie2Writable

    • Constructor Detail

      • Trie2Writable

        public Trie2Writable​(int initialValueP,
                             int errorValueP)
        Create a new, empty, writable Trie2. 32-bit data values are used.
        Parameters:
        initialValueP - the initial value that is set for all code points
        errorValueP - the value for out-of-range code points and illegal UTF-8
      • Trie2Writable

        public Trie2Writable​(Trie2 source)
        Create a new build time (modifiable) Trie2 whose contents are the same as the source Trie2.
        Parameters:
        source - the source Trie2. Its contents will be copied into the new Trie2.
    • Method Detail

      • set

        public Trie2Writable set​(int c,
                                 int value)
        Set a value for a code point.
        Parameters:
        c - the code point
        value - the value
      • setRange

        public Trie2Writable setRange​(int start,
                                      int end,
                                      int value,
                                      boolean overwrite)
        Set a value in a range of code points [start..end]. All code points c with start<=c<=end will get the value if overwrite is TRUE or if the old value is the initial value.
        Parameters:
        start - the first code point to get the value
        end - the last code point to get the value (inclusive)
        value - the value
        overwrite - flag for whether old non-initial values are to be overwritten
      • setRange

        public Trie2Writable setRange​(Trie2.Range range,
                                      boolean overwrite)
        Set the values from a Trie2.Range. All code points within the range will get the value if overwrite is TRUE or if the old value is the initial value. Ranges with the lead surrogate flag set will set the alternate lead-surrogate values in the Trie, rather than the code point values. This function is intended to work with the ranges produced when iterating the contents of a source Trie.
        Parameters:
        range - contains the range of code points and the value to be set.
        overwrite - flag for whether old non-initial values are to be overwritten
      • setForLeadSurrogateCodeUnit

        public Trie2Writable setForLeadSurrogateCodeUnit​(char codeUnit,
                                                         int value)
        Set a value for a UTF-16 code unit. Note that a Trie2 stores separate values for supplementary code points in the lead surrogate range (accessed via the plain set() and get() interfaces) and for lead surrogate code units. The lead surrogate code unit values are set via this function and read by the function getFromU16SingleLead(). For code units outside of the lead surrogate range, this function behaves identically to set().
        Parameters:
        codeUnit - A UTF-16 code unit.
        value - the value to be stored in the Trie2.
      • get

        public int get​(int codePoint)
        Get the value for a code point as stored in the Trie2.
        Specified by:
        get in class Trie2
        Parameters:
        codePoint - the code point
        Returns:
        the value
      • getFromU16SingleLead

        public int getFromU16SingleLead​(char c)
        Get a trie value for a UTF-16 code unit. This function returns the same value as get() if the input character is outside of the lead surrogate range There are two values stored in a Trie for inputs in the lead surrogate range. This function returns the alternate value, while Trie2.get() returns the main value.
        Specified by:
        getFromU16SingleLead in class Trie2
        Parameters:
        c - the code point or lead surrogate value.
        Returns:
        the value
      • toTrie2_16

        public Trie2_16 toTrie2_16()
        Produce an optimized, read-only Trie2_16 from this writable Trie. The data values outside of the range that will fit in a 16 bit unsigned value will be truncated.
      • toTrie2_32

        public Trie2_32 toTrie2_32()
        Produce an optimized, read-only Trie2_32 from this writable Trie.