Esempio n. 1
0
 public static Offset <EnumEntry> CreateEnumEntry(FlatBufferBuilder builder,
                                                  FruitFilter key = 0,
                                                  int value       = 7412)
 {
     builder.StartObject(2);
     EnumEntry.AddValue(builder, value);
     EnumEntry.AddKey(builder, key);
     return(EnumEntry.EndEnumEntry(builder));
 }
Esempio n. 2
0
        public bool MutateKey(FruitFilter key)
        {
            int o = __p.__offset(4); if (o != 0)

            {
                __p.bb.PutInt(o + __p.bb_pos, (int)key); return(true);
            }
            else
            {
                return(false);
            }
        }
Esempio n. 3
0
        public static EnumEntry?LookupByKey(int bb_pos, VectorOffset fieldDataOffset, FruitFilter key, FruitFilter defaultKeyValue, ByteBuffer bb)
        {
            int vectorLocation = bb.Length - vectorOffset.Value;
            int span           = bb.GetInt(vectorLocation);

            vectorLocation += 4;
            int start = 0;

            while (span != 0)
            {
                int middle      = span / 2;
                int tableOffset = Table.__indirect(vectorLocation + 4 * (start + middle), bb);
                int comp        = __p.bb.GetInt(Table.__offset(4, bb.Length - tableOffset, bb)).CompareTo(key);
                if (comp > 0)
                {
                    span = middle;
                }
                else if (comp < 0)
                {
                    middle++;
                    start += middle;
                    span  -= middle;
                }
                else
                {
                    return(new EnumEntry().__assign(tableOffset, bb));
                }
            }
            return(null);
        }
Esempio n. 4
0
 public static void AddKey(FlatBufferBuilder builder, FruitFilter key)
 {
     builder.AddInt(0, (int)key, 0);
 }