// ----------------------------------------------------------------------------
//
// This is autogenerated code by CppSharp.
// Do not edit this file or all your changes will be lost after re-generation.
//
// ----------------------------------------------------------------------------
using System;
using System.Runtime.InteropServices;
using System.Security;
using System.Runtime.CompilerServices;
[assembly:InternalsVisibleTo("CppSharp.Parser.CSharp")]
[assembly:InternalsVisibleTo("CppSharp.CppParser")]
namespace Std
{
namespace Allocator
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public unsafe partial struct __Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSaIcED2Ev")]
internal static extern void dtorc__N_std_S_allocator__C(global::System.IntPtr __instance);
}
}
public unsafe partial class Allocator<_Tp> : IDisposable
{
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary>();
protected internal void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::Std.Allocator<_Tp> __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::Std.Allocator<_Tp>(native.ToPointer(), skipVTables);
}
internal static global::Std.Allocator<_Tp> __CreateInstance(global::Std.Allocator.__Internal native, bool skipVTables = false)
{
return new global::Std.Allocator<_Tp>(native, skipVTables);
}
private static void* __CopyValue(global::Std.Allocator.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::Std.Allocator.__Internal));
*(global::Std.Allocator.__Internal*) ret = native;
return ret.ToPointer();
}
private Allocator(global::Std.Allocator.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected Allocator(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::Std.Allocator<_Tp> __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
{
var ___Tp = typeof(_Tp);
if (___Tp.IsAssignableFrom(typeof(sbyte)))
{
throw new MissingMethodException("Method ~allocator ignored in specialization global::Std.Allocator.");
return;
}
throw new ArgumentOutOfRangeException("_Tp", string.Join(", ", new[] { typeof(_Tp).FullName }), "global::Std.Allocator<_Tp> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: .");
}
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
}
namespace Std
{
namespace Vector
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector__i___N_std_S_allocator__i
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S_vector____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
}
namespace VectorBase
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_ExpressionObsolete___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Stmt___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_Expr___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base__i___N_std_S_allocator__i
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internalc__N_std_S__Vector_base____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S_allocator__S0_
{
[FieldOffset(0)]
internal global::Std.VectorBase.VectorImpl.__Internal _M_impl;
}
namespace VectorImpl
{
[StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_start;
[FieldOffset(8)]
internal global::System.IntPtr _M_finish;
[FieldOffset(16)]
internal global::System.IntPtr _M_end_of_storage;
}
}
}
}
namespace Std
{
namespace Less
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public unsafe partial struct __Internal
{
}
}
}
namespace Std
{
public enum RbTreeColor : uint
{
}
namespace RbTree
{
namespace RbTreeImpl
{
[StructLayout(LayoutKind.Explicit, Size = 48)]
public unsafe partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.Less.__Internal _M_key_compare;
[FieldOffset(8)]
internal global::Std.RbTreeNodeBase.__Internal _M_header;
[FieldOffset(40)]
internal ulong _M_node_count;
}
}
[StructLayout(LayoutKind.Explicit, Size = 48)]
public unsafe partial struct __Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_
{
[FieldOffset(0)]
internal global::Std.RbTree.RbTreeImpl.__Internal _M_impl;
}
}
public unsafe partial class RbTreeNodeBase
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public partial struct __Internal
{
[FieldOffset(0)]
internal global::Std.RbTreeColor _M_color;
[FieldOffset(8)]
internal global::System.IntPtr _M_parent;
[FieldOffset(16)]
internal global::System.IntPtr _M_left;
[FieldOffset(24)]
internal global::System.IntPtr _M_right;
}
}
}
namespace GnuCxx
{
}
namespace Std
{
namespace Map
{
[StructLayout(LayoutKind.Explicit, Size = 48)]
public unsafe partial struct __Internalc__N_std_S_map____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S_less__S0____N_std_S_allocator____N_std_S_pair__1S0__S3_
{
[FieldOffset(0)]
internal global::Std.RbTree.__Internalc__N_std_S__Rb_tree____N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S_pair__1S0_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Select1st__S3____N_std_S_less__S0____N_std_S_allocator__S3_ _M_t;
}
}
}
namespace Std
{
}
namespace Std
{
namespace CharTraits
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public unsafe partial struct __Internal
{
}
}
public unsafe partial class CharTraits<_CharT> : IDisposable
{
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary>();
protected internal void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::Std.CharTraits<_CharT> __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::Std.CharTraits<_CharT>(native.ToPointer(), skipVTables);
}
internal static global::Std.CharTraits<_CharT> __CreateInstance(global::Std.CharTraits.__Internal native, bool skipVTables = false)
{
return new global::Std.CharTraits<_CharT>(native, skipVTables);
}
private static void* __CopyValue(global::Std.CharTraits.__Internal native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::Std.CharTraits.__Internal));
*(global::Std.CharTraits.__Internal*) ret = native;
return ret.ToPointer();
}
private CharTraits(global::Std.CharTraits.__Internal native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected CharTraits(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::Std.CharTraits<_CharT> __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
}
}
namespace Std
{
namespace BasicString
{
[StructLayout(LayoutKind.Explicit, Size = 32)]
public unsafe partial struct __Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C
{
[FieldOffset(0)]
internal global::Std.BasicString.AllocHider.__Internal _M_dataplus;
[FieldOffset(8)]
internal ulong _M_string_length;
[FieldOffset(16)]
internal global::Std.BasicString._3.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C _0;
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEC2Ev")]
internal static extern void ctorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr __instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEED2Ev")]
internal static extern void dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr __instance);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv")]
internal static extern global::System.IntPtr CStrc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C(global::System.IntPtr __instance);
}
namespace AllocHider
{
[StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct __Internal
{
[FieldOffset(0)]
internal global::System.IntPtr _M_p;
}
}
namespace _3
{
[StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct __Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C
{
[FieldOffset(0)]
internal fixed sbyte _M_local_buf[16];
[FieldOffset(0)]
internal ulong _M_allocated_capacity;
}
}
}
public unsafe partial class BasicString<_CharT, _Traits, _Alloc> : IDisposable
{
public global::System.IntPtr __Instance { get; protected set; }
protected int __PointerAdjustment;
internal static readonly global::System.Collections.Concurrent.ConcurrentDictionary> NativeToManagedMap = new global::System.Collections.Concurrent.ConcurrentDictionary>();
protected internal void*[] __OriginalVTables;
protected bool __ownsNativeInstance;
internal static global::Std.BasicString<_CharT, _Traits, _Alloc> __CreateInstance(global::System.IntPtr native, bool skipVTables = false)
{
return new global::Std.BasicString<_CharT, _Traits, _Alloc>(native.ToPointer(), skipVTables);
}
internal static global::Std.BasicString<_CharT, _Traits, _Alloc> __CreateInstance(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C native, bool skipVTables = false)
{
return new global::Std.BasicString<_CharT, _Traits, _Alloc>(native, skipVTables);
}
private static void* __CopyValue(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C native)
{
var ret = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C));
*(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C*) ret = native;
return ret.ToPointer();
}
private BasicString(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C native, bool skipVTables = false)
: this(__CopyValue(native), skipVTables)
{
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
}
protected BasicString(void* native, bool skipVTables = false)
{
if (native == null)
return;
__Instance = new global::System.IntPtr(native);
}
public BasicString()
{
var ___CharT = typeof(_CharT);
var ___Traits = typeof(_Traits);
var ___Alloc = typeof(_Alloc);
if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Alloc.IsAssignableFrom(typeof(global::Std.Allocator)))
{
__Instance = Marshal.AllocHGlobal(sizeof(global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C));
__ownsNativeInstance = true;
NativeToManagedMap[__Instance] = this;
global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C.ctorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment));
return;
}
throw new ArgumentOutOfRangeException("_CharT, _Traits, _Alloc", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Alloc).FullName }), "global::Std.BasicString<_CharT, _Traits, _Alloc> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>.");
}
public void Dispose()
{
Dispose(disposing: true);
}
public virtual void Dispose(bool disposing)
{
if (__Instance == IntPtr.Zero)
return;
global::Std.BasicString<_CharT, _Traits, _Alloc> __dummy;
NativeToManagedMap.TryRemove(__Instance, out __dummy);
if (disposing)
{
var ___CharT = typeof(_CharT);
var ___Traits = typeof(_Traits);
var ___Alloc = typeof(_Alloc);
if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Alloc.IsAssignableFrom(typeof(global::Std.Allocator)))
{
global::Std.BasicString.__Internalc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C.dtorc__N_std_N___cxx11_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C((__Instance + __PointerAdjustment));
return;
}
throw new ArgumentOutOfRangeException("_CharT, _Traits, _Alloc", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Alloc).FullName }), "global::Std.BasicString<_CharT, _Traits, _Alloc> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>.");
}
if (__ownsNativeInstance)
Marshal.FreeHGlobal(__Instance);
__Instance = IntPtr.Zero;
}
public global::Std.BasicString<_CharT, _Traits, _Alloc> Assign(global::Std.BasicString<_CharT, _Traits, _Alloc> __str)
{
var ___CharT = typeof(_CharT);
var ___Traits = typeof(_Traits);
var ___Alloc = typeof(_Alloc);
if (___CharT.IsAssignableFrom(typeof(sbyte)) && ___Traits.IsAssignableFrom(typeof(global::Std.CharTraits)) && ___Alloc.IsAssignableFrom(typeof(global::Std.Allocator)))
{
throw new MissingMethodException("Method Assign ignored in specialization global::Std.BasicString, global::Std.Allocator>.");
}
throw new ArgumentOutOfRangeException("_CharT, _Traits, _Alloc", string.Join(", ", new[] { typeof(_CharT).FullName, typeof(_Traits).FullName, typeof(_Alloc).FullName }), "global::Std.BasicString<_CharT, _Traits, _Alloc> maps a C++ template class and therefore it only supports a limited set of types and their subclasses: , global::Std.Allocator>.");
}
}
public unsafe static partial class BasicStringExtensions
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct __Internal
{
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE6assignEPKc")]
internal static extern global::System.IntPtr Assign(global::System.IntPtr __instance, [MarshalAs(UnmanagedType.LPStr)] string __s);
[SuppressUnmanagedCodeSecurity]
[DllImport("Std-symbols", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
EntryPoint="_ZNKSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEE5c_strEv")]
internal static extern global::System.IntPtr CStr(global::System.IntPtr __instance);
}
public static global::Std.BasicString, global::Std.Allocator> Assign(this global::Std.BasicString, global::Std.Allocator> @this, string __s)
{
var __arg0 = ReferenceEquals(@this, null) ? global::System.IntPtr.Zero : @this.__Instance;
var __ret = __Internal.Assign(__arg0, __s);
global::Std.BasicString, global::Std.Allocator> __result0;
if (__ret == IntPtr.Zero) __result0 = null;
else if (global::Std.BasicString, global::Std.Allocator>.NativeToManagedMap.ContainsKey(__ret))
__result0 = (global::Std.BasicString, global::Std.Allocator>) global::Std.BasicString, global::Std.Allocator>.NativeToManagedMap[__ret];
else __result0 = global::Std.BasicString, global::Std.Allocator>.__CreateInstance(__ret);
return __result0;
}
public static string CStr(this global::Std.BasicString, global::Std.Allocator> @this)
{
var __arg0 = ReferenceEquals(@this, null) ? global::System.IntPtr.Zero : @this.__Instance;
var __ret = __Internal.CStr(__arg0);
return Marshal.PtrToStringAnsi(__ret);
}
}
}
namespace Std
{
}