public LLDB.Breakpoint BreakpointCreateByRegex(string symbol_name_regex, LLDB.FileSpecList module_list, LLDB.FileSpecList comp_unit_list)
{
var arg0 = Marshal.StringToHGlobalAnsi(symbol_name_regex);
if (ReferenceEquals(module_list, null))
throw new global::System.ArgumentNullException("module_list", "Cannot be null because it is a C++ reference (&).");
var arg1 = module_list.__Instance;
if (ReferenceEquals(comp_unit_list, null))
throw new global::System.ArgumentNullException("comp_unit_list", "Cannot be null because it is a C++ reference (&).");
var arg2 = comp_unit_list.__Instance;
var __ret = new LLDB.Breakpoint.Internal();
Internal.BreakpointCreateByRegex_1(new IntPtr(&__ret), (__Instance + __PointerAdjustment), arg0, arg1, arg2);
Marshal.FreeHGlobal(arg0);
return LLDB.Breakpoint.__CreateInstance(__ret);
}