/**
 * Autogenerated by Thrift for thrift/compiler/test/fixtures/frozen-struct/src/module.thrift
 *
 * DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
 *  @generated @nocommit
 */
#pragma once

#include <thrift/lib/cpp2/frozen/Frozen.h>
#include "thrift/compiler/test/fixtures/frozen-struct/gen-cpp2/module_types.h"
#include "thrift/compiler/test/fixtures/frozen-struct/gen-cpp2/include1_layouts.h"
#include "thrift/compiler/test/fixtures/frozen-struct/gen-cpp2/include2_layouts.h"
namespace apache { namespace thrift { namespace frozen {

FROZEN_EXCLUDE_TYPE(::some::ns::detail::DirectlyAdapted)

FROZEN_TYPE(::some::ns::ModuleA,
  FROZEN_FIELD(i32Field, 1, ::std::int32_t)
  FROZEN_FIELD(strField, 2, ::std::string)
  FROZEN_FIELD(listField, 3, ::std::vector<::std::int16_t>)
  FROZEN_FIELD(mapField, 4, ::std::map<::std::string, ::std::int32_t>)
  FROZEN_FIELD(inclAField, 5, ::some::ns::IncludedA)
  FROZEN_FIELD(inclBField, 6, ::some::ns::IncludedB)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(i32Field, ::std::int32_t)
    FROZEN_VIEW_FIELD(strField, ::std::string)
    FROZEN_VIEW_FIELD(listField, ::std::vector<::std::int16_t>)
    FROZEN_VIEW_FIELD(mapField, ::std::map<::std::string, ::std::int32_t>)
    FROZEN_VIEW_FIELD(inclAField, ::some::ns::IncludedA)
    FROZEN_VIEW_FIELD(inclBField, ::some::ns::IncludedB))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(i32Field)
    FROZEN_SAVE_FIELD(strField)
    FROZEN_SAVE_FIELD(listField)
    FROZEN_SAVE_FIELD(mapField)
    FROZEN_SAVE_FIELD(inclAField)
    FROZEN_SAVE_FIELD(inclBField))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(i32Field, 1)
    FROZEN_LOAD_FIELD(strField, 2)
    FROZEN_LOAD_FIELD(listField, 3)
    FROZEN_LOAD_FIELD(mapField, 4)
    FROZEN_LOAD_FIELD(inclAField, 5)
    FROZEN_LOAD_FIELD(inclBField, 6)));

FROZEN_TYPE(::some::ns::ModuleB,
  FROZEN_FIELD(i32Field, 1, ::std::int32_t)
  FROZEN_FIELD(inclEnumB, 2, ::some::ns::EnumB)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD(i32Field, ::std::int32_t)
    FROZEN_VIEW_FIELD(inclEnumB, ::some::ns::EnumB))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(i32Field)
    FROZEN_SAVE_FIELD(inclEnumB))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(i32Field, 1)
    FROZEN_LOAD_FIELD(inclEnumB, 2)));

FROZEN_TYPE(::some::ns::CppRef,
  FROZEN_FIELD_REF(shared_field, 1, ::std::shared_ptr<::std::int32_t>)
  FROZEN_FIELD_REF(shared_const_field, 2, ::std::shared_ptr<const ::std::int32_t>)
  FROZEN_FIELD_REF(opt_shared_field, 3, ::std::shared_ptr<::std::int32_t>)
  FROZEN_FIELD_REF(opt_shared_const_field, 4, ::std::shared_ptr<const ::std::int32_t>)
  FROZEN_FIELD_REF(boxed_field, 5, ::apache::thrift::detail::boxed_value_ptr<::std::int32_t>)
  FROZEN_VIEW(
    FROZEN_VIEW_FIELD_REF(shared_field, ::std::shared_ptr<::std::int32_t>)
    FROZEN_VIEW_FIELD_REF(shared_const_field, ::std::shared_ptr<const ::std::int32_t>)
    FROZEN_VIEW_FIELD_REF(opt_shared_field, ::std::shared_ptr<::std::int32_t>)
    FROZEN_VIEW_FIELD_REF(opt_shared_const_field, ::std::shared_ptr<const ::std::int32_t>)
    FROZEN_VIEW_FIELD_REF(boxed_field, ::apache::thrift::detail::boxed_value_ptr<::std::int32_t>))
  FROZEN_SAVE_INLINE(
    FROZEN_SAVE_FIELD(shared_field)
    FROZEN_SAVE_FIELD(shared_const_field)
    FROZEN_SAVE_FIELD(opt_shared_field)
    FROZEN_SAVE_FIELD(opt_shared_const_field)
    FROZEN_SAVE_FIELD(boxed_field))
  FROZEN_LOAD_INLINE(
    FROZEN_LOAD_FIELD(shared_field, 1)
    FROZEN_LOAD_FIELD(shared_const_field, 2)
    FROZEN_LOAD_FIELD(opt_shared_field, 3)
    FROZEN_LOAD_FIELD(opt_shared_const_field, 4)
    FROZEN_LOAD_FIELD(boxed_field, 5)));

}}} // apache::thrift::frozen
