// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
// **DO NOT EDIT DIRECTLY**
// https://github.com/dearimgui/dear_bindings

// THIS FILE HAS BEEN AUTO-GENERATED BY THE 'DEAR BINDINGS' GENERATOR.
// **DO NOT EDIT DIRECTLY**
// https://github.com/dearimgui/dear_bindings

// By-value struct conversions

// Function stubs
#include "imgui.h"
#include "imgui_memory_editor.h"

namespace cimgui
{
#include "cimgui_memory_editor.h"
}


// CIMGUI_API cimgui::MemoryEditor*  cimgui::MemoryEditor_Loader(void)
// {
//   return reinterpret_cast<::cimgui::MemoryEditor*>(&::MemoryEditor::MemoryEditor());
// }


CIMGUI_API void        cimgui::MemoryEditor_GotoAddrAndHighlight(cimgui::MemoryEditor* self, size_t addr_min, size_t addr_max)
{
    reinterpret_cast<::MemoryEditor*>(self)->GotoAddrAndHighlight(addr_min, addr_max);
}

CIMGUI_API void        cimgui::MemoryEditor_CalcSizes(cimgui::MemoryEditor* self, cimgui::MemoryEditor_Sizes* s, size_t mem_size, size_t base_display_addr)
{
    reinterpret_cast<::MemoryEditor*>(self)->CalcSizes(reinterpret_cast<::MemoryEditor::Sizes&>(*s), mem_size, base_display_addr);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawWindow(cimgui::MemoryEditor* self, const char* title, void* mem_data, size_t mem_size)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawWindow(title, mem_data, mem_size);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawWindowEx(cimgui::MemoryEditor* self, const char* title, void* mem_data, size_t mem_size, size_t base_display_addr)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawWindow(title, mem_data, mem_size, base_display_addr);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawContents(cimgui::MemoryEditor* self, void* mem_data_void, size_t mem_size)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawContents(mem_data_void, mem_size);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawContentsEx(cimgui::MemoryEditor* self, void* mem_data_void, size_t mem_size, size_t base_display_addr)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawContents(mem_data_void, mem_size, base_display_addr);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawOptionsLine(cimgui::MemoryEditor* self, cimgui::MemoryEditor_Sizes s, void* mem_data, size_t mem_size, size_t base_display_addr)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawOptionsLine(reinterpret_cast<const ::MemoryEditor::Sizes&>(s), mem_data, mem_size, base_display_addr);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawPreviewLine(cimgui::MemoryEditor* self, cimgui::MemoryEditor_Sizes s, void* mem_data_void, size_t mem_size, size_t base_display_addr)
{
    reinterpret_cast<::MemoryEditor*>(self)->DrawPreviewLine(reinterpret_cast<const ::MemoryEditor::Sizes&>(s), mem_data_void, mem_size, base_display_addr);
}

CIMGUI_API const char* cimgui::MemoryEditor_DataTypeGetDesc(const cimgui::MemoryEditor* self, ImGuiDataType data_type)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->DataTypeGetDesc(data_type);
}

CIMGUI_API size_t      cimgui::MemoryEditor_DataTypeGetSize(const cimgui::MemoryEditor* self, ImGuiDataType data_type)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->DataTypeGetSize(data_type);
}

CIMGUI_API const char* cimgui::MemoryEditor_DataFormatGetDesc(const cimgui::MemoryEditor* self, cimgui::DataFormat data_format)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->DataFormatGetDesc(static_cast<::MemoryEditor::DataFormat>(data_format));
}

CIMGUI_API bool        cimgui::MemoryEditor_IsBigEndian(const cimgui::MemoryEditor* self)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->IsBigEndian();
}

CIMGUI_API void*       cimgui::MemoryEditor_EndianessCopyBigEndian(cimgui::MemoryEditor* self, void* _dst, void* _src, size_t s, int is_little_endian)
{
    return reinterpret_cast<::MemoryEditor*>(self)->MemoryEditor::EndianessCopyBigEndian(_dst, _src, s, is_little_endian);
}

CIMGUI_API void*       cimgui::MemoryEditor_EndianessCopyLittleEndian(cimgui::MemoryEditor* self, void* _dst, void* _src, size_t s, int is_little_endian)
{
    return reinterpret_cast<::MemoryEditor*>(self)->MemoryEditor::EndianessCopyLittleEndian(_dst, _src, s, is_little_endian);
}

CIMGUI_API void*       cimgui::MemoryEditor_EndianessCopy(const cimgui::MemoryEditor* self, void* dst, void* src, size_t size)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->EndianessCopy(dst, src, size);
}

CIMGUI_API const char* cimgui::MemoryEditor_FormatBinary(const cimgui::MemoryEditor* self, const uint8_t* buf, int width)
{
    return reinterpret_cast<const ::MemoryEditor*>(self)->FormatBinary(buf, width);
}

CIMGUI_API void        cimgui::MemoryEditor_DrawPreviewData(const cimgui::MemoryEditor* self, size_t addr, const ImU8* mem_data, size_t mem_size, ImGuiDataType data_type, cimgui::DataFormat data_format, char* out_buf, size_t out_buf_size)
{
    reinterpret_cast<const ::MemoryEditor*>(self)->DrawPreviewData(addr, mem_data, mem_size, data_type, static_cast<::MemoryEditor::DataFormat>(data_format), out_buf, out_buf_size);
}
