// Code generated by fidlgen; DO NOT EDIT.

package vectors

import (
	_bindings "syscall/zx/fidl"
)

type ExampleUseOfVectors struct {
	_                    struct{} `fidl:"s" fidl_size_v1:"32" fidl_alignment_v1:"8"`
	VectorOfUint8        []uint8  `fidl_offset_v1:"0" fidl_bounds:""`
	VectorOfVectorOfBool [][]bool `fidl_offset_v1:"16" fidl_bounds:""`
}

var _mExampleUseOfVectors = _bindings.CreateLazyMarshaler(ExampleUseOfVectors{})

func (msg *ExampleUseOfVectors) Marshaler() _bindings.Marshaler {
	return _mExampleUseOfVectors
}
