// automatically generated by the FlatBuffers compiler, do not modify


#ifndef FLATBUFFERS_GENERATED_UUID_FLAT_BIGFOOT_H_
#define FLATBUFFERS_GENERATED_UUID_FLAT_BIGFOOT_H_

#include "flatbuffers/flatbuffers.h"

// Ensure the included flatbuffers.h is the same version as when this file was
// generated, otherwise it may not be compatible.
static_assert(FLATBUFFERS_VERSION_MAJOR == 25 &&
              FLATBUFFERS_VERSION_MINOR == 12 &&
              FLATBUFFERS_VERSION_REVISION == 19,
             "Non-compatible flatbuffers version included");
// Ensure the included flatbuffers.h is Bigfoot's fork - stock
// flatbuffers (or a differently versioned Bigfoot fork) is not compatible.
#ifndef FLATBUFFERS_BIGFOOT_VERSION
#error "This file requires Bigfoot's flatbuffers fork - stock flatbuffers is not compatible"
#endif
static_assert(FLATBUFFERS_BIGFOOT_VERSION == 1,
             "Non-compatible Bigfoot flatbuffers fork version included");

#include "System/UUID/UUID.hpp"

#include "EASTL/unique_ptr.h"
#include "EASTL/string.h"
#include "EASTL/vector.h"

namespace Flat {
namespace Bigfoot {

struct UUID;

inline const ::flatbuffers::TypeTable *UUIDTypeTable();

FLATBUFFERS_MANUALLY_ALIGNED_STRUCT(1) UUID FLATBUFFERS_FINAL_CLASS {
 private:
  uint8_t bytes_[16];

 public:
  struct Traits;
  static const ::flatbuffers::TypeTable *MiniReflectTypeTable() {
    return UUIDTypeTable();
  }
  static FLATBUFFERS_CONSTEXPR_CPP11 const char *GetFullyQualifiedName() {
    return "Flat.Bigfoot.UUID";
  }
  UUID()
      : bytes_() {
  }
  UUID(::flatbuffers::span<const uint8_t, 16> _bytes) {
    ::flatbuffers::CastToArray(bytes_).CopyFromSpan(_bytes);
  }
  const ::flatbuffers::Array<uint8_t, 16> *bytes() const {
    return &::flatbuffers::CastToArray(bytes_);
  }
};
FLATBUFFERS_STRUCT_END(UUID, 16);

struct UUID::Traits {
  using type = UUID;
};

inline const ::flatbuffers::TypeTable *UUIDTypeTable() {
  static const ::flatbuffers::TypeCode type_codes[] = {
    { ::flatbuffers::ET_UCHAR, 1, -1 }
  };
  static const int16_t array_sizes[] = { 16,  };
  static const int64_t values[] = { 0, 16 };
  static const ::flatbuffers::TypeTable tt = {
    ::flatbuffers::ST_STRUCT, 1, type_codes, nullptr, array_sizes, values, nullptr
  };
  return &tt;
}

}  // namespace Bigfoot
}  // namespace Flat

#endif  // FLATBUFFERS_GENERATED_UUID_FLAT_BIGFOOT_H_
