#ifndef TEMPLATE_READER_H
#define TEMPLATE_READER_H

/* Generated by flatcc 0.5.2 FlatBuffers schema compiler for C by dvide.com */

#ifndef FLATBUFFERS_COMMON_READER_H
#include "flatbuffers_common_reader.h"
#endif
#ifndef CARDATTRIBUTES_READER_H
#include "CardAttributes_reader.h"
#endif
#ifndef SHAPEATTRIBUTES_READER_H
#include "ShapeAttributes_reader.h"
#endif
#ifndef TEXTATTRIBUTES_READER_H
#include "TextAttributes_reader.h"
#endif
#ifndef LAYOUTATTRIBUTES_READER_H
#include "LayoutAttributes_reader.h"
#endif
#ifndef ACTION_READER_H
#include "Action_reader.h"
#endif
#ifndef STYLE_READER_H
#include "Style_reader.h"
#endif
#include "flatcc/flatcc_flatbuffers.h"
#ifndef __alignas_is_defined
#include <stdalign.h>
#endif
#include "flatcc/flatcc_prologue.h"
#ifndef flatbuffers_identifier
#define flatbuffers_identifier 0
#endif
#ifndef flatbuffers_extension
#define flatbuffers_extension ".bin"
#endif


typedef const struct AllWatchSerialize_Template_table *AllWatchSerialize_Template_table_t;
typedef const flatbuffers_uoffset_t *AllWatchSerialize_Template_vec_t;
typedef flatbuffers_uoffset_t *AllWatchSerialize_Template_mutable_vec_t;
#ifndef AllWatchSerialize_Template_identifier
#define AllWatchSerialize_Template_identifier flatbuffers_identifier
#endif
#define AllWatchSerialize_Template_type_hash ((flatbuffers_thash_t)0x506fd485)
#define AllWatchSerialize_Template_type_identifier "\x85\xd4\x6f\x50"

typedef int16_t AllWatchSerialize_Type_enum_t;
__flatbuffers_define_integer_type(AllWatchSerialize_Type, AllWatchSerialize_Type_enum_t, 16)
#define AllWatchSerialize_Type_HorizontalLayout ((AllWatchSerialize_Type_enum_t)INT16_C(0))
#define AllWatchSerialize_Type_VerticalLayout ((AllWatchSerialize_Type_enum_t)INT16_C(1))
#define AllWatchSerialize_Type_Text ((AllWatchSerialize_Type_enum_t)INT16_C(2))
#define AllWatchSerialize_Type_Label ((AllWatchSerialize_Type_enum_t)INT16_C(3))
#define AllWatchSerialize_Type_Item ((AllWatchSerialize_Type_enum_t)INT16_C(4))
#define AllWatchSerialize_Type_Container ((AllWatchSerialize_Type_enum_t)INT16_C(5))
#define AllWatchSerialize_Type_Shape ((AllWatchSerialize_Type_enum_t)INT16_C(6))
#define AllWatchSerialize_Type_Card ((AllWatchSerialize_Type_enum_t)INT16_C(7))

static inline const char *AllWatchSerialize_Type_name(AllWatchSerialize_Type_enum_t value)
{
    switch (value) {
    case AllWatchSerialize_Type_HorizontalLayout: return "HorizontalLayout";
    case AllWatchSerialize_Type_VerticalLayout: return "VerticalLayout";
    case AllWatchSerialize_Type_Text: return "Text";
    case AllWatchSerialize_Type_Label: return "Label";
    case AllWatchSerialize_Type_Item: return "Item";
    case AllWatchSerialize_Type_Container: return "Container";
    case AllWatchSerialize_Type_Shape: return "Shape";
    case AllWatchSerialize_Type_Card: return "Card";
    default: return "";
    }
}

static inline int AllWatchSerialize_Type_is_known_value(AllWatchSerialize_Type_enum_t value)
{
    switch (value) {
    case AllWatchSerialize_Type_HorizontalLayout: return 1;
    case AllWatchSerialize_Type_VerticalLayout: return 1;
    case AllWatchSerialize_Type_Text: return 1;
    case AllWatchSerialize_Type_Label: return 1;
    case AllWatchSerialize_Type_Item: return 1;
    case AllWatchSerialize_Type_Container: return 1;
    case AllWatchSerialize_Type_Shape: return 1;
    case AllWatchSerialize_Type_Card: return 1;
    default: return 0;
    }
}


typedef uint8_t AllWatchSerialize_Attributes_union_type_t;
__flatbuffers_define_integer_type(AllWatchSerialize_Attributes, AllWatchSerialize_Attributes_union_type_t, 8)
__flatbuffers_define_union(flatbuffers_, AllWatchSerialize_Attributes)
#define AllWatchSerialize_Attributes_NONE ((AllWatchSerialize_Attributes_union_type_t)UINT8_C(0))
#define AllWatchSerialize_Attributes_LayoutAttributes ((AllWatchSerialize_Attributes_union_type_t)UINT8_C(1))
#define AllWatchSerialize_Attributes_TextAttributes ((AllWatchSerialize_Attributes_union_type_t)UINT8_C(2))
#define AllWatchSerialize_Attributes_ShapeAttributes ((AllWatchSerialize_Attributes_union_type_t)UINT8_C(3))
#define AllWatchSerialize_Attributes_CardAttributes ((AllWatchSerialize_Attributes_union_type_t)UINT8_C(4))

static inline const char *AllWatchSerialize_Attributes_type_name(AllWatchSerialize_Attributes_union_type_t type)
{
    switch (type) {
    case AllWatchSerialize_Attributes_NONE: return "NONE";
    case AllWatchSerialize_Attributes_LayoutAttributes: return "LayoutAttributes";
    case AllWatchSerialize_Attributes_TextAttributes: return "TextAttributes";
    case AllWatchSerialize_Attributes_ShapeAttributes: return "ShapeAttributes";
    case AllWatchSerialize_Attributes_CardAttributes: return "CardAttributes";
    default: return "";
    }
}

static inline int AllWatchSerialize_Attributes_is_known_type(AllWatchSerialize_Attributes_union_type_t type)
{
    switch (type) {
    case AllWatchSerialize_Attributes_NONE: return 1;
    case AllWatchSerialize_Attributes_LayoutAttributes: return 1;
    case AllWatchSerialize_Attributes_TextAttributes: return 1;
    case AllWatchSerialize_Attributes_ShapeAttributes: return 1;
    case AllWatchSerialize_Attributes_CardAttributes: return 1;
    default: return 0;
    }
}


struct AllWatchSerialize_Template_table { uint8_t unused__; };

static inline size_t AllWatchSerialize_Template_vec_len(AllWatchSerialize_Template_vec_t vec)
__flatbuffers_vec_len(vec)
static inline AllWatchSerialize_Template_table_t AllWatchSerialize_Template_vec_at(AllWatchSerialize_Template_vec_t vec, size_t i)
__flatbuffers_offset_vec_at(AllWatchSerialize_Template_table_t, vec, i, 0)
__flatbuffers_table_as_root(AllWatchSerialize_Template)

__flatbuffers_define_scalar_field(0, AllWatchSerialize_Template, type, AllWatchSerialize_Type, AllWatchSerialize_Type_enum_t, INT16_C(0))
__flatbuffers_define_table_field(1, AllWatchSerialize_Template, style, AllWatchSerialize_Style_table_t, 0)
__flatbuffers_define_table_field(2, AllWatchSerialize_Template, action, AllWatchSerialize_Action_table_t, 0)
__flatbuffers_define_union_field(flatbuffers_, 4, AllWatchSerialize_Template, attributes, AllWatchSerialize_Attributes, 0)
__flatbuffers_define_string_field(5, AllWatchSerialize_Template, id, 0)
__flatbuffers_define_vector_field(6, AllWatchSerialize_Template, children, AllWatchSerialize_Template_vec_t, 0)

#include "flatcc/flatcc_epilogue.h"
#endif /* TEMPLATE_READER_H */
