1// Licensed to the Apache Software Foundation (ASF) under one
2// or more contributor license agreements.  See the NOTICE file
3// distributed with this work for additional information
4// regarding copyright ownership.  The ASF licenses this file
5// to you under the Apache License, Version 2.0 (the
6// "License"); you may not use this file except in compliance
7// with the License.  You may obtain a copy of the License at
8//
9// http://www.apache.org/licenses/LICENSE-2.0
10//
11// Unless required by applicable law or agreed to in writing, software
12// distributed under the License is distributed on an "AS IS" BASIS,
13// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14// See the License for the specific language governing permissions and
15// limitations under the License.
16
17// Code generated by the FlatBuffers compiler. DO NOT EDIT.
18
19package flatbuf
20
21import (
22	flatbuffers "github.com/google/flatbuffers/go"
23)
24
25type Interval struct {
26	_tab flatbuffers.Table
27}
28
29func GetRootAsInterval(buf []byte, offset flatbuffers.UOffsetT) *Interval {
30	n := flatbuffers.GetUOffsetT(buf[offset:])
31	x := &Interval{}
32	x.Init(buf, n+offset)
33	return x
34}
35
36func (rcv *Interval) Init(buf []byte, i flatbuffers.UOffsetT) {
37	rcv._tab.Bytes = buf
38	rcv._tab.Pos = i
39}
40
41func (rcv *Interval) Table() flatbuffers.Table {
42	return rcv._tab
43}
44
45func (rcv *Interval) Unit() IntervalUnit {
46	o := flatbuffers.UOffsetT(rcv._tab.Offset(4))
47	if o != 0 {
48		return rcv._tab.GetInt16(o + rcv._tab.Pos)
49	}
50	return 0
51}
52
53func (rcv *Interval) MutateUnit(n IntervalUnit) bool {
54	return rcv._tab.MutateInt16Slot(4, n)
55}
56
57func IntervalStart(builder *flatbuffers.Builder) {
58	builder.StartObject(1)
59}
60func IntervalAddUnit(builder *flatbuffers.Builder, unit int16) {
61	builder.PrependInt16Slot(0, unit, 0)
62}
63func IntervalEnd(builder *flatbuffers.Builder) flatbuffers.UOffsetT {
64	return builder.EndObject()
65}
66