// ============================================================================
// This file was autogenerated
// It is presented side to side with its source: brace_init_default_value.h
// It is not used in the compilation
//    (see integration_tests/bindings/pybind_mylib.cpp which contains the full binding
//     code, including this code)
// ============================================================================

#include <pybind11/pybind11.h>
#include <pybind11/stl.h>
#include <pybind11/functional.h>
#include <pybind11/numpy.h>
#include "mylib_main/mylib.h"

namespace py = pybind11;

// <litgen_glue_code>  // Autogenerated code below! Do not edit!

// </litgen_glue_code> // Autogenerated code end


void py_init_module_mylib(py::module& m)
{
    // <litgen_pydef> // Autogenerated code below! Do not edit!
    ////////////////////    <generated_from:brace_init_default_value.h>    ////////////////////
    auto pyClassFooBrace =
        py::class_<FooBrace>
            (m, "FooBrace", "")
        .def(py::init<>([](
        std::vector<int> int_values = {1, 2, 3})
        {
            auto r = std::make_unique<FooBrace>();
            r->int_values = int_values;
            return r;
        })
        , py::arg("int_values") = std::vector<int>{1, 2, 3}
        )
        .def_readwrite("int_values", &FooBrace::int_values, "")
        .def_readwrite("dict_string_int", &FooBrace::dict_string_int, "")
        ;


    m.def("fn_brace",
        FnBrace, py::arg("foo_brace") = FooBrace{}, py::arg("ints") = std::vector<int>{1, 2, 3});
    ////////////////////    </generated_from:brace_init_default_value.h>    ////////////////////

    // </litgen_pydef> // Autogenerated code end
}
