#pragma once

#include "il2cpp-config.h"

#ifndef _MSC_VER
# include <alloca.h>
#else
# include <malloc.h>
#endif

#include <stdint.h>
#include <assert.h>
#include <exception>

// System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>
struct U3CSortU3Ec__Iterator21_t1978610034;
// System.Object
struct Il2CppObject;
// System.Collections.IEnumerator
struct IEnumerator_t3464575207;
// System.Collections.Generic.IEnumerator`1<System.Object>
struct IEnumerator_1_t1787714124;

#include "codegen/il2cpp-codegen.h"

// System.Void System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::.ctor()
extern "C"  void U3CSortU3Ec__Iterator21__ctor_m2478484409_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21__ctor_m2478484409(__this, method) ((  void (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21__ctor_m2478484409_gshared)(__this, method)
// TElement System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::System.Collections.Generic.IEnumerator<TElement>.get_Current()
extern "C"  Il2CppObject * U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumeratorU3CTElementU3E_get_Current_m345773114_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumeratorU3CTElementU3E_get_Current_m345773114(__this, method) ((  Il2CppObject * (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumeratorU3CTElementU3E_get_Current_m345773114_gshared)(__this, method)
// System.Object System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::System.Collections.IEnumerator.get_Current()
extern "C"  Il2CppObject * U3CSortU3Ec__Iterator21_System_Collections_IEnumerator_get_Current_m3593665815_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_System_Collections_IEnumerator_get_Current_m3593665815(__this, method) ((  Il2CppObject * (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_System_Collections_IEnumerator_get_Current_m3593665815_gshared)(__this, method)
// System.Collections.IEnumerator System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::System.Collections.IEnumerable.GetEnumerator()
extern "C"  Il2CppObject * U3CSortU3Ec__Iterator21_System_Collections_IEnumerable_GetEnumerator_m1080975608_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_System_Collections_IEnumerable_GetEnumerator_m1080975608(__this, method) ((  Il2CppObject * (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_System_Collections_IEnumerable_GetEnumerator_m1080975608_gshared)(__this, method)
// System.Collections.Generic.IEnumerator`1<TElement> System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::System.Collections.Generic.IEnumerable<TElement>.GetEnumerator()
extern "C"  Il2CppObject* U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumerableU3CTElementU3E_GetEnumerator_m1867380327_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumerableU3CTElementU3E_GetEnumerator_m1867380327(__this, method) ((  Il2CppObject* (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_System_Collections_Generic_IEnumerableU3CTElementU3E_GetEnumerator_m1867380327_gshared)(__this, method)
// System.Boolean System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::MoveNext()
extern "C"  bool U3CSortU3Ec__Iterator21_MoveNext_m974020195_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_MoveNext_m974020195(__this, method) ((  bool (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_MoveNext_m974020195_gshared)(__this, method)
// System.Void System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::Dispose()
extern "C"  void U3CSortU3Ec__Iterator21_Dispose_m2309918134_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_Dispose_m2309918134(__this, method) ((  void (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_Dispose_m2309918134_gshared)(__this, method)
// System.Void System.Linq.QuickSort`1/<Sort>c__Iterator21<System.Object>::Reset()
extern "C"  void U3CSortU3Ec__Iterator21_Reset_m124917350_gshared (U3CSortU3Ec__Iterator21_t1978610034 * __this, const MethodInfo* method);
#define U3CSortU3Ec__Iterator21_Reset_m124917350(__this, method) ((  void (*) (U3CSortU3Ec__Iterator21_t1978610034 *, const MethodInfo*))U3CSortU3Ec__Iterator21_Reset_m124917350_gshared)(__this, method)
