Browse Source

Moved the marking of supported template specialisations to a pass.

This allows custom passes to add other specialisations to support.

Signed-off-by: Dimitar Dobrev <dpldobrev@protonmail.com>
pull/696/head
Dimitar Dobrev 10 years ago
parent
commit
a4dfeb94be
  1. 26
      src/AST/ClassExtensions.cs
  2. 98
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-templates.cpp
  3. 56
      src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs
  4. 92
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std-templates.cpp
  5. 129
      src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs
  6. 98
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-templates.cpp
  7. 56
      src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs
  8. 59
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-templates.cpp
  9. 29
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs
  10. 59
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-templates.cpp
  11. 38
      src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs
  12. 92
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-templates.cpp
  13. 129
      src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs
  14. 2
      src/Generator/Driver.cs
  15. 3
      src/Generator/Generators/CLI/CLITypeReferences.cs
  16. 57
      src/Generator/Generators/CSharp/CSharpSources.cs
  17. 4
      src/Generator/Generators/Template.cs
  18. 12
      src/Generator/Passes/CheckIgnoredDecls.cs
  19. 3
      src/Generator/Passes/GenerateTemplatesCodePass.cs
  20. 2
      src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs
  21. 30
      src/Generator/Passes/IgnoreSystemDeclarationsPass.cs
  22. 63
      src/Generator/Passes/MarkSupportedClassTemplateSpecializationsPass.cs
  23. 9
      src/Generator/Types/Std/Stdlib.cs
  24. 2
      src/Generator/Types/Types.cs

26
src/AST/ClassExtensions.cs

@ -203,31 +203,5 @@ namespace CppSharp.AST
{ {
return units.Where(u => u.IsGenerated && (u.HasDeclarations || u.IsSystemHeader) && u.IsValid); return units.Where(u => u.IsGenerated && (u.HasDeclarations || u.IsSystemHeader) && u.IsValid);
} }
public static bool IsSupportedStdSpecialization(this ClassTemplateSpecialization specialization)
{
return IsSupportedStdType(specialization) &&
specialization.Arguments[0].Type.Type.IsPrimitiveType(PrimitiveType.Char);
}
public static bool IsSupportedStdType(this Declaration declaration)
{
return declaration.Namespace != null &&
declaration.TranslationUnit.IsSystemHeader &&
IsNameSpaceStd(declaration.Namespace) &&
supportedStdTypes.Contains(declaration.OriginalName);
}
private static bool IsNameSpaceStd(DeclarationContext declarationContext)
{
if (declarationContext == null)
return false;
var @namespace = declarationContext as Namespace;
if (@namespace != null && @namespace.IsInline)
return IsNameSpaceStd(declarationContext.Namespace);
return declarationContext.OriginalName == "std";
}
private static string[] supportedStdTypes = { "basic_string", "allocator" };
} }
} }

98
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std-templates.cpp

@ -1,4 +1,100 @@
#include <string> #include <string>
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned short>, std::__type_list<std::__align_type<unsigned int>, std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned int>, std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<int*>, std::__nat>;
template class __declspec(dllexport) std::__type_list<int, std::__type_list<long, std::__type_list<long long, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<long, std::__type_list<long long, std::__nat>>;
template class __declspec(dllexport) std::__type_list<long long, std::__nat>;
template class __declspec(dllexport) std::__type_list<unsigned int, std::__type_list<unsigned long, std::__type_list<unsigned long long, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<unsigned long, std::__type_list<unsigned long long, std::__nat>>;
template class __declspec(dllexport) std::__type_list<unsigned long long, std::__nat>;
template class __declspec(dllexport) std::__tuple_types<>;
template class __declspec(dllexport) std::allocator<wchar_t>;
template class __declspec(dllexport) std::allocator<char16_t>;
template class __declspec(dllexport) std::allocator<char32_t>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::PreprocessedEntity*, std::allocator<CppSharp::CppParser::AST::PreprocessedEntity*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BlockContentComment*, std::allocator<CppSharp::CppParser::AST::BlockContentComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Parameter*, std::allocator<CppSharp::CppParser::AST::Parameter*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Declaration*, std::allocator<CppSharp::CppParser::AST::Declaration*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::FunctionTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TemplateArgument, std::allocator<CppSharp::CppParser::AST::TemplateArgument>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Function*, std::allocator<CppSharp::CppParser::AST::Function*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Template*, std::allocator<CppSharp::CppParser::AST::Template*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TypedefDecl*, std::allocator<CppSharp::CppParser::AST::TypedefDecl*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TypeAlias*, std::allocator<CppSharp::CppParser::AST::TypeAlias*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Variable*, std::allocator<CppSharp::CppParser::AST::Variable*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Friend*, std::allocator<CppSharp::CppParser::AST::Friend*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BaseClassSpecifier*, std::allocator<CppSharp::CppParser::AST::BaseClassSpecifier*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Field*, std::allocator<CppSharp::CppParser::AST::Field*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Method*, std::allocator<CppSharp::CppParser::AST::Method*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::AccessSpecifierDecl*, std::allocator<CppSharp::CppParser::AST::AccessSpecifierDecl*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VTableComponent, std::allocator<CppSharp::CppParser::AST::VTableComponent>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VFTableInfo, std::allocator<CppSharp::CppParser::AST::VFTableInfo>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::LayoutField, std::allocator<CppSharp::CppParser::AST::LayoutField>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::LayoutBase, std::allocator<CppSharp::CppParser::AST::LayoutBase>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Class*, std::allocator<CppSharp::CppParser::AST::Class*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Enumeration::Item*, std::allocator<CppSharp::CppParser::AST::Enumeration::Item*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Enumeration*, std::allocator<CppSharp::CppParser::AST::Enumeration*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Namespace*, std::allocator<CppSharp::CppParser::AST::Namespace*>&>;
template class __declspec(dllexport) std::__split_buffer<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::ClassTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::ClassTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Expression*, std::allocator<CppSharp::CppParser::AST::Expression*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VarTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::VarTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::MacroDefinition*, std::allocator<CppSharp::CppParser::AST::MacroDefinition*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TranslationUnit*, std::allocator<CppSharp::CppParser::AST::TranslationUnit*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::InlineContentComment*, std::allocator<CppSharp::CppParser::AST::InlineContentComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BlockCommandComment::Argument, std::allocator<CppSharp::CppParser::AST::BlockCommandComment::Argument>&>;
template class __declspec(dllexport) std::__split_buffer<unsigned int, std::allocator<unsigned int>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VerbatimBlockLineComment*, std::allocator<CppSharp::CppParser::AST::VerbatimBlockLineComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::InlineCommandComment::Argument, std::allocator<CppSharp::CppParser::AST::InlineCommandComment::Argument>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute, std::allocator<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::ParserDiagnostic, std::allocator<CppSharp::CppParser::ParserDiagnostic>&>;
template class __declspec(dllexport) std::placeholders::__ph<>;

56
src/CppParser/Bindings/CSharp/i686-apple-darwin12.4.0/Std.cs

@ -6432,6 +6432,15 @@ namespace std
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace allocator_traits namespace allocator_traits
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
@ -10573,7 +10582,7 @@ namespace std
namespace __tree_end_node namespace __tree_end_node
{ {
[StructLayout(LayoutKind.Explicit, Size = 4)] [StructLayout(LayoutKind.Explicit, Size = 4)]
public unsafe partial struct Internal_Ptr public unsafe partial struct Internalc__N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr __left_; public global::System.IntPtr __left_;
@ -10887,6 +10896,51 @@ namespace std
} }
} }
public unsafe partial class __long
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __short
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial struct __ulx
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __raw
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace __basic_string_common namespace __basic_string_common
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]

92
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std-templates.cpp

@ -1,4 +1,94 @@
#include <string> #include <string>
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::_Identity<int>;
template class __declspec(dllexport) std::_Identity<std::integral_constant<bool>>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<wchar_t>;
template class __declspec(dllexport) std::initializer_list<char16_t>;
template class __declspec(dllexport) std::initializer_list<char32_t>;
template class __declspec(dllexport) std::initializer_list<bool>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::less<int>;
template class __declspec(dllexport) std::_Forced<std::_Unforced>;
template class __declspec(dllexport) std::_Lex_compare_optimize<void>;
template class __declspec(dllexport) std::_String_iter_types<char, unsigned int, int, char*, const char*, char&, const char&>;
template class __declspec(dllexport) std::_String_iter_types<wchar_t, unsigned int, int, wchar_t*, const wchar_t*, wchar_t&, const wchar_t&>;
template class __declspec(dllexport) std::_String_iter_types<char16_t, unsigned int, int, char16_t*, const char16_t*, char16_t&, const char16_t&>;
template class __declspec(dllexport) std::_String_iter_types<char32_t, unsigned int, int, char32_t*, const char32_t*, char32_t&, const char32_t&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::PreprocessedEntity*, unsigned int, int, CppSharp::CppParser::AST::PreprocessedEntity**, const CppSharp::CppParser::AST::PreprocessedEntity**, CppSharp::CppParser::AST::PreprocessedEntity*&, const CppSharp::CppParser::AST::PreprocessedEntity*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BlockContentComment*, unsigned int, int, CppSharp::CppParser::AST::BlockContentComment**, const CppSharp::CppParser::AST::BlockContentComment**, CppSharp::CppParser::AST::BlockContentComment*&, const CppSharp::CppParser::AST::BlockContentComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Parameter*, unsigned int, int, CppSharp::CppParser::AST::Parameter**, const CppSharp::CppParser::AST::Parameter**, CppSharp::CppParser::AST::Parameter*&, const CppSharp::CppParser::AST::Parameter*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Declaration*, unsigned int, int, CppSharp::CppParser::AST::Declaration**, const CppSharp::CppParser::AST::Declaration**, CppSharp::CppParser::AST::Declaration*&, const CppSharp::CppParser::AST::Declaration*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::FunctionTemplateSpecialization*, unsigned int, int, CppSharp::CppParser::AST::FunctionTemplateSpecialization**, const CppSharp::CppParser::AST::FunctionTemplateSpecialization**, CppSharp::CppParser::AST::FunctionTemplateSpecialization*&, const CppSharp::CppParser::AST::FunctionTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TemplateArgument, unsigned int, int, CppSharp::CppParser::AST::TemplateArgument*, const CppSharp::CppParser::AST::TemplateArgument*, CppSharp::CppParser::AST::TemplateArgument&, const CppSharp::CppParser::AST::TemplateArgument&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Function*, unsigned int, int, CppSharp::CppParser::AST::Function**, const CppSharp::CppParser::AST::Function**, CppSharp::CppParser::AST::Function*&, const CppSharp::CppParser::AST::Function*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Template*, unsigned int, int, CppSharp::CppParser::AST::Template**, const CppSharp::CppParser::AST::Template**, CppSharp::CppParser::AST::Template*&, const CppSharp::CppParser::AST::Template*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TypedefDecl*, unsigned int, int, CppSharp::CppParser::AST::TypedefDecl**, const CppSharp::CppParser::AST::TypedefDecl**, CppSharp::CppParser::AST::TypedefDecl*&, const CppSharp::CppParser::AST::TypedefDecl*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TypeAlias*, unsigned int, int, CppSharp::CppParser::AST::TypeAlias**, const CppSharp::CppParser::AST::TypeAlias**, CppSharp::CppParser::AST::TypeAlias*&, const CppSharp::CppParser::AST::TypeAlias*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Variable*, unsigned int, int, CppSharp::CppParser::AST::Variable**, const CppSharp::CppParser::AST::Variable**, CppSharp::CppParser::AST::Variable*&, const CppSharp::CppParser::AST::Variable*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Friend*, unsigned int, int, CppSharp::CppParser::AST::Friend**, const CppSharp::CppParser::AST::Friend**, CppSharp::CppParser::AST::Friend*&, const CppSharp::CppParser::AST::Friend*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BaseClassSpecifier*, unsigned int, int, CppSharp::CppParser::AST::BaseClassSpecifier**, const CppSharp::CppParser::AST::BaseClassSpecifier**, CppSharp::CppParser::AST::BaseClassSpecifier*&, const CppSharp::CppParser::AST::BaseClassSpecifier*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Field*, unsigned int, int, CppSharp::CppParser::AST::Field**, const CppSharp::CppParser::AST::Field**, CppSharp::CppParser::AST::Field*&, const CppSharp::CppParser::AST::Field*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Method*, unsigned int, int, CppSharp::CppParser::AST::Method**, const CppSharp::CppParser::AST::Method**, CppSharp::CppParser::AST::Method*&, const CppSharp::CppParser::AST::Method*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::AccessSpecifierDecl*, unsigned int, int, CppSharp::CppParser::AST::AccessSpecifierDecl**, const CppSharp::CppParser::AST::AccessSpecifierDecl**, CppSharp::CppParser::AST::AccessSpecifierDecl*&, const CppSharp::CppParser::AST::AccessSpecifierDecl*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VTableComponent, unsigned int, int, CppSharp::CppParser::AST::VTableComponent*, const CppSharp::CppParser::AST::VTableComponent*, CppSharp::CppParser::AST::VTableComponent&, const CppSharp::CppParser::AST::VTableComponent&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VFTableInfo, unsigned int, int, CppSharp::CppParser::AST::VFTableInfo*, const CppSharp::CppParser::AST::VFTableInfo*, CppSharp::CppParser::AST::VFTableInfo&, const CppSharp::CppParser::AST::VFTableInfo&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::LayoutField, unsigned int, int, CppSharp::CppParser::AST::LayoutField*, const CppSharp::CppParser::AST::LayoutField*, CppSharp::CppParser::AST::LayoutField&, const CppSharp::CppParser::AST::LayoutField&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::LayoutBase, unsigned int, int, CppSharp::CppParser::AST::LayoutBase*, const CppSharp::CppParser::AST::LayoutBase*, CppSharp::CppParser::AST::LayoutBase&, const CppSharp::CppParser::AST::LayoutBase&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Class*, unsigned int, int, CppSharp::CppParser::AST::Class**, const CppSharp::CppParser::AST::Class**, CppSharp::CppParser::AST::Class*&, const CppSharp::CppParser::AST::Class*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Enumeration::Item*, unsigned int, int, CppSharp::CppParser::AST::Enumeration::Item**, const CppSharp::CppParser::AST::Enumeration::Item**, CppSharp::CppParser::AST::Enumeration::Item*&, const CppSharp::CppParser::AST::Enumeration::Item*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Enumeration*, unsigned int, int, CppSharp::CppParser::AST::Enumeration**, const CppSharp::CppParser::AST::Enumeration**, CppSharp::CppParser::AST::Enumeration*&, const CppSharp::CppParser::AST::Enumeration*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Namespace*, unsigned int, int, CppSharp::CppParser::AST::Namespace**, const CppSharp::CppParser::AST::Namespace**, CppSharp::CppParser::AST::Namespace*&, const CppSharp::CppParser::AST::Namespace*&>;
template class __declspec(dllexport) std::_Vec_iter_types<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned int, int, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, const std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::ClassTemplateSpecialization*, unsigned int, int, CppSharp::CppParser::AST::ClassTemplateSpecialization**, const CppSharp::CppParser::AST::ClassTemplateSpecialization**, CppSharp::CppParser::AST::ClassTemplateSpecialization*&, const CppSharp::CppParser::AST::ClassTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Expression*, unsigned int, int, CppSharp::CppParser::AST::Expression**, const CppSharp::CppParser::AST::Expression**, CppSharp::CppParser::AST::Expression*&, const CppSharp::CppParser::AST::Expression*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VarTemplateSpecialization*, unsigned int, int, CppSharp::CppParser::AST::VarTemplateSpecialization**, const CppSharp::CppParser::AST::VarTemplateSpecialization**, CppSharp::CppParser::AST::VarTemplateSpecialization*&, const CppSharp::CppParser::AST::VarTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::MacroDefinition*, unsigned int, int, CppSharp::CppParser::AST::MacroDefinition**, const CppSharp::CppParser::AST::MacroDefinition**, CppSharp::CppParser::AST::MacroDefinition*&, const CppSharp::CppParser::AST::MacroDefinition*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TranslationUnit*, unsigned int, int, CppSharp::CppParser::AST::TranslationUnit**, const CppSharp::CppParser::AST::TranslationUnit**, CppSharp::CppParser::AST::TranslationUnit*&, const CppSharp::CppParser::AST::TranslationUnit*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::InlineContentComment*, unsigned int, int, CppSharp::CppParser::AST::InlineContentComment**, const CppSharp::CppParser::AST::InlineContentComment**, CppSharp::CppParser::AST::InlineContentComment*&, const CppSharp::CppParser::AST::InlineContentComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BlockCommandComment::Argument, unsigned int, int, CppSharp::CppParser::AST::BlockCommandComment::Argument*, const CppSharp::CppParser::AST::BlockCommandComment::Argument*, CppSharp::CppParser::AST::BlockCommandComment::Argument&, const CppSharp::CppParser::AST::BlockCommandComment::Argument&>;
template class __declspec(dllexport) std::_Vec_iter_types<unsigned int, unsigned int, int, unsigned int*, const unsigned int*, unsigned int&, const unsigned int&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VerbatimBlockLineComment*, unsigned int, int, CppSharp::CppParser::AST::VerbatimBlockLineComment**, const CppSharp::CppParser::AST::VerbatimBlockLineComment**, CppSharp::CppParser::AST::VerbatimBlockLineComment*&, const CppSharp::CppParser::AST::VerbatimBlockLineComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::InlineCommandComment::Argument, unsigned int, int, CppSharp::CppParser::AST::InlineCommandComment::Argument*, const CppSharp::CppParser::AST::InlineCommandComment::Argument*, CppSharp::CppParser::AST::InlineCommandComment::Argument&, const CppSharp::CppParser::AST::InlineCommandComment::Argument&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute, unsigned int, int, CppSharp::CppParser::AST::HTMLStartTagComment::Attribute*, const CppSharp::CppParser::AST::HTMLStartTagComment::Attribute*, CppSharp::CppParser::AST::HTMLStartTagComment::Attribute&, const CppSharp::CppParser::AST::HTMLStartTagComment::Attribute&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::ParserDiagnostic, unsigned int, int, CppSharp::CppParser::ParserDiagnostic*, const CppSharp::CppParser::ParserDiagnostic*, CppSharp::CppParser::ParserDiagnostic&, const CppSharp::CppParser::ParserDiagnostic&>;
template class __declspec(dllexport) std::_Tree_iter_types<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>, unsigned int, int, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>*, const std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>*, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>&, const std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>&, std::_Tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>, void*>*>;

129
src/CppParser/Bindings/CSharp/i686-pc-win32-msvc/Std.cs

@ -4317,7 +4317,7 @@ namespace std
namespace _Yarn namespace _Yarn
{ {
[StructLayout(LayoutKind.Explicit, Size = 8)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct Internal_char public unsafe partial struct Internalc__N_std_S__Yarn__C
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr _Myptr; public global::System.IntPtr _Myptr;
@ -4327,7 +4327,7 @@ namespace std
} }
[StructLayout(LayoutKind.Explicit, Size = 8)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct Internal_wchar_t public unsafe partial struct Internalc__N_std_S__Yarn__W
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr _Myptr; public global::System.IntPtr _Myptr;
@ -4340,301 +4340,301 @@ namespace std
namespace _Compressed_pair namespace _Compressed_pair
{ {
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_wchar_t_std__String_val_std__Simple_types_wchar_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char16_t_std__String_val_std__Simple_types_char16_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char32_t_std__String_val_std__Simple_types_char32_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BlockContentCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BlockContentCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ParameterPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ParameterPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_DeclarationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FunctionTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FunctionTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TemplateArgument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TemplateArgument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FunctionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FunctionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TemplatePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TemplatePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TypedefDeclPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TypedefDeclPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TypeAliasPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TypeAliasPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VariablePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VariablePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FriendPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FriendPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 8)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Myval2; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 8)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Tree_val.Internal _Myval2; internal global::std._Tree_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BaseClassSpecifierPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BaseClassSpecifierPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FieldPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FieldPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_MethodPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_MethodPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_AccessSpecifierDeclPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_AccessSpecifierDeclPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VTableComponent_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VTableComponent public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VFTableInfo_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VFTableInfo public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_LayoutField_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_LayoutField public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_LayoutBase_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_LayoutBase public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ClassPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ClassPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_Enumeration_ItemPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_Enumeration_ItemPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_EnumerationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_EnumerationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_NamespacePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_NamespacePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Vector_val_std__Simple_types_std_basic_string_char_std_char_traits_char_std_allocator_char public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ClassTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ClassTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ExpressionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ExpressionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VarTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VarTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_MacroDefinitionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_MacroDefinitionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TranslationUnitPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TranslationUnitPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_InlineContentCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_InlineContentCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BlockCommandComment_Argument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BlockCommandComment_Argument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_unsigned_int_std__Vector_val_std__Simple_types_unsigned_int public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VerbatimBlockLineCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VerbatimBlockLineCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_InlineCommandComment_Argument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_InlineCommandComment_Argument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_HTMLStartTagComment_Attribute_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_HTMLStartTagComment_Attribute public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 12)] [StructLayout(LayoutKind.Explicit, Size = 12)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_ParserDiagnostic_std__Vector_val_std__Simple_types_CppSharp_CppParser_ParserDiagnostic public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
@ -4888,6 +4888,15 @@ namespace std
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace _Wrap_alloc namespace _Wrap_alloc
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
@ -5969,7 +5978,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall, [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.ThisCall,
@ -6048,7 +6057,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
} }
} }
@ -6238,7 +6247,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
} }
} }
@ -6248,7 +6257,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
} }
} }
} }
@ -6341,7 +6350,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
} }
@ -6351,7 +6360,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
@ -6399,7 +6408,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
} }
} }
@ -6722,22 +6731,22 @@ namespace std
internal global::std._Lockit.Internal _Lock; internal global::std._Lockit.Internal _Lock;
[FieldOffset(4)] [FieldOffset(4)]
internal global::std._Yarn.Internal_char _Days; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Days;
[FieldOffset(12)] [FieldOffset(12)]
internal global::std._Yarn.Internal_char _Months; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Months;
[FieldOffset(20)] [FieldOffset(20)]
internal global::std._Yarn.Internal_wchar_t _W_Days; internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Days;
[FieldOffset(28)] [FieldOffset(28)]
internal global::std._Yarn.Internal_wchar_t _W_Months; internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Months;
[FieldOffset(36)] [FieldOffset(36)]
internal global::std._Yarn.Internal_char _Oldlocname; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Oldlocname;
[FieldOffset(44)] [FieldOffset(44)]
internal global::std._Yarn.Internal_char _Newlocname; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Newlocname;
} }
} }
} }
@ -6864,7 +6873,7 @@ namespace std
public byte _Xparent; public byte _Xparent;
[FieldOffset(24)] [FieldOffset(24)]
internal global::std._Yarn.Internal_char _Name; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Name;
} }
} }

98
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std-templates.cpp

@ -1,4 +1,100 @@
#include <string> #include <string>
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned short>, std::__type_list<std::__align_type<unsigned int>, std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned int>, std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned long>, std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<unsigned long long>, std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<double>, std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<long double>, std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<std::__struct_double>, std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<std::__struct_double4>, std::__type_list<std::__align_type<int*>, std::__nat>>;
template class __declspec(dllexport) std::__type_list<std::__align_type<int*>, std::__nat>;
template class __declspec(dllexport) std::__type_list<int, std::__type_list<long, std::__type_list<long long, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<long, std::__type_list<long long, std::__nat>>;
template class __declspec(dllexport) std::__type_list<long long, std::__nat>;
template class __declspec(dllexport) std::__type_list<unsigned int, std::__type_list<unsigned long, std::__type_list<unsigned long long, std::__nat>>>;
template class __declspec(dllexport) std::__type_list<unsigned long, std::__type_list<unsigned long long, std::__nat>>;
template class __declspec(dllexport) std::__type_list<unsigned long long, std::__nat>;
template class __declspec(dllexport) std::__tuple_types<>;
template class __declspec(dllexport) std::allocator<wchar_t>;
template class __declspec(dllexport) std::allocator<char16_t>;
template class __declspec(dllexport) std::allocator<char32_t>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::PreprocessedEntity*, std::allocator<CppSharp::CppParser::AST::PreprocessedEntity*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BlockContentComment*, std::allocator<CppSharp::CppParser::AST::BlockContentComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Parameter*, std::allocator<CppSharp::CppParser::AST::Parameter*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Declaration*, std::allocator<CppSharp::CppParser::AST::Declaration*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::FunctionTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TemplateArgument, std::allocator<CppSharp::CppParser::AST::TemplateArgument>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Function*, std::allocator<CppSharp::CppParser::AST::Function*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Template*, std::allocator<CppSharp::CppParser::AST::Template*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TypedefDecl*, std::allocator<CppSharp::CppParser::AST::TypedefDecl*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TypeAlias*, std::allocator<CppSharp::CppParser::AST::TypeAlias*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Variable*, std::allocator<CppSharp::CppParser::AST::Variable*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Friend*, std::allocator<CppSharp::CppParser::AST::Friend*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BaseClassSpecifier*, std::allocator<CppSharp::CppParser::AST::BaseClassSpecifier*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Field*, std::allocator<CppSharp::CppParser::AST::Field*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Method*, std::allocator<CppSharp::CppParser::AST::Method*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::AccessSpecifierDecl*, std::allocator<CppSharp::CppParser::AST::AccessSpecifierDecl*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VTableComponent, std::allocator<CppSharp::CppParser::AST::VTableComponent>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VFTableInfo, std::allocator<CppSharp::CppParser::AST::VFTableInfo>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::LayoutField, std::allocator<CppSharp::CppParser::AST::LayoutField>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::LayoutBase, std::allocator<CppSharp::CppParser::AST::LayoutBase>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Class*, std::allocator<CppSharp::CppParser::AST::Class*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Enumeration::Item*, std::allocator<CppSharp::CppParser::AST::Enumeration::Item*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Enumeration*, std::allocator<CppSharp::CppParser::AST::Enumeration*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Namespace*, std::allocator<CppSharp::CppParser::AST::Namespace*>&>;
template class __declspec(dllexport) std::__split_buffer<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, std::allocator<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::ClassTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::ClassTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::Expression*, std::allocator<CppSharp::CppParser::AST::Expression*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VarTemplateSpecialization*, std::allocator<CppSharp::CppParser::AST::VarTemplateSpecialization*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::MacroDefinition*, std::allocator<CppSharp::CppParser::AST::MacroDefinition*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::TranslationUnit*, std::allocator<CppSharp::CppParser::AST::TranslationUnit*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::InlineContentComment*, std::allocator<CppSharp::CppParser::AST::InlineContentComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::BlockCommandComment::Argument, std::allocator<CppSharp::CppParser::AST::BlockCommandComment::Argument>&>;
template class __declspec(dllexport) std::__split_buffer<unsigned int, std::allocator<unsigned int>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::VerbatimBlockLineComment*, std::allocator<CppSharp::CppParser::AST::VerbatimBlockLineComment*>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::InlineCommandComment::Argument, std::allocator<CppSharp::CppParser::AST::InlineCommandComment::Argument>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute, std::allocator<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>&>;
template class __declspec(dllexport) std::__split_buffer<CppSharp::CppParser::ParserDiagnostic, std::allocator<CppSharp::CppParser::ParserDiagnostic>&>;
template class __declspec(dllexport) std::placeholders::__ph<>;

56
src/CppParser/Bindings/CSharp/x86_64-apple-darwin12.4.0/Std.cs

@ -8544,6 +8544,15 @@ namespace std
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace allocator_traits namespace allocator_traits
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
@ -12685,7 +12694,7 @@ namespace std
namespace __tree_end_node namespace __tree_end_node
{ {
[StructLayout(LayoutKind.Explicit, Size = 8)] [StructLayout(LayoutKind.Explicit, Size = 8)]
public unsafe partial struct Internal_Ptr public unsafe partial struct Internalc__N_std_N___1_S___tree_end_node_____N_std_N___1_S___tree_node_base___v
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr __left_; public global::System.IntPtr __left_;
@ -13035,6 +13044,51 @@ namespace std
} }
} }
public unsafe partial class __long
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __short
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial struct __ulx
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __raw
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class __rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace __basic_string_common namespace __basic_string_common
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]

59
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std-templates.cpp

@ -1,4 +1,61 @@
#include <string> #include <string>
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) __gnu_cxx::__add_unsigned<bool>;
template class __declspec(dllexport) __gnu_cxx::__add_unsigned<wchar_t>;
template class __declspec(dllexport) __gnu_cxx::__remove_unsigned<bool>;
template class __declspec(dllexport) __gnu_cxx::__remove_unsigned<wchar_t>;
template class __declspec(dllexport) std::make_unsigned<bool>;
template class __declspec(dllexport) std::make_signed<bool>;
template class __declspec(dllexport) std::allocator<void>;
template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::initializer_list<bool>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<wchar_t>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::char_traits<char>;
template class __declspec(dllexport) std::char_traits<wchar_t>;
template class __declspec(dllexport) std::char_traits<char16_t>;
template class __declspec(dllexport) std::char_traits<char32_t>;
template class __declspec(dllexport) std::ctype<char>;
template class __declspec(dllexport) std::ctype<wchar_t>;
template class __declspec(dllexport) std::codecvt<char, char, __mbstate_t>;
template class __declspec(dllexport) std::codecvt<wchar_t, char, __mbstate_t>;

29
src/CppParser/Bindings/CSharp/x86_64-linux-gnu-cxx11abi/Std.cs

@ -290,7 +290,7 @@ namespace std
namespace pair namespace pair
{ {
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_Ptr public unsafe partial struct Internalc__N_std_S_pair_____N_std_S__Rb_tree_node_base_S0_
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr first; public global::System.IntPtr first;
@ -658,6 +658,15 @@ namespace std
Marshal.FreeHGlobal(__Instance); Marshal.FreeHGlobal(__Instance);
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
} }
namespace __gnu_cxx namespace __gnu_cxx
@ -3168,6 +3177,24 @@ namespace std
return Marshal.PtrToStringAnsi(__ret); return Marshal.PtrToStringAnsi(__ret);
} }
} }
public unsafe partial class _Alloc_hider
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial struct _
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
} }
} }

59
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std-templates.cpp

@ -1,4 +1,61 @@
#include <string> #include <string>
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) __gnu_cxx::__add_unsigned<bool>;
template class __declspec(dllexport) __gnu_cxx::__add_unsigned<wchar_t>;
template class __declspec(dllexport) __gnu_cxx::__remove_unsigned<bool>;
template class __declspec(dllexport) __gnu_cxx::__remove_unsigned<wchar_t>;
template class __declspec(dllexport) std::make_unsigned<bool>;
template class __declspec(dllexport) std::make_signed<bool>;
template class __declspec(dllexport) std::allocator<void>;
template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::initializer_list<bool>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<wchar_t>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::_Select1st<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::char_traits<char>;
template class __declspec(dllexport) std::char_traits<wchar_t>;
template class __declspec(dllexport) std::char_traits<char16_t>;
template class __declspec(dllexport) std::char_traits<char32_t>;
template class __declspec(dllexport) std::ctype<char>;
template class __declspec(dllexport) std::ctype<wchar_t>;
template class __declspec(dllexport) std::codecvt<char, char, __mbstate_t>;
template class __declspec(dllexport) std::codecvt<wchar_t, char, __mbstate_t>;

38
src/CppParser/Bindings/CSharp/x86_64-linux-gnu/Std.cs

@ -290,7 +290,7 @@ namespace std
namespace pair namespace pair
{ {
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_Ptr public unsafe partial struct Internalc__N_std_S_pair_____N_std_S__Rb_tree_node_base_S0_
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr first; public global::System.IntPtr first;
@ -658,6 +658,15 @@ namespace std
Marshal.FreeHGlobal(__Instance); Marshal.FreeHGlobal(__Instance);
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
} }
namespace __gnu_cxx namespace __gnu_cxx
@ -3120,6 +3129,33 @@ namespace std
return Marshal.PtrToStringAnsi(__ret); return Marshal.PtrToStringAnsi(__ret);
} }
} }
public unsafe partial class _Rep_base
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class _Rep
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
public unsafe partial class _Alloc_hider
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
} }
namespace __gnu_cxx namespace __gnu_cxx

92
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std-templates.cpp

@ -1,4 +1,94 @@
#include <string> #include <string>
template class __declspec(dllexport) std::allocator<char>; template class __declspec(dllexport) std::allocator<char>;
template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>; template class __declspec(dllexport) std::basic_string<char, std::char_traits<char>, std::allocator<char>>;
template class __declspec(dllexport) std::_Identity<long long>;
template class __declspec(dllexport) std::_Identity<std::integral_constant<bool>>;
template class __declspec(dllexport) std::initializer_list<char>;
template class __declspec(dllexport) std::initializer_list<wchar_t>;
template class __declspec(dllexport) std::initializer_list<char16_t>;
template class __declspec(dllexport) std::initializer_list<char32_t>;
template class __declspec(dllexport) std::initializer_list<bool>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::PreprocessedEntity*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Parameter*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Declaration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::FunctionTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TemplateArgument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Function*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Template*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypedefDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TypeAlias*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Variable*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Friend*>;
template class __declspec(dllexport) std::initializer_list<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BaseClassSpecifier*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Field*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Method*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::AccessSpecifierDecl*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VTableComponent>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VFTableInfo>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutField>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::LayoutBase>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Class*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration::Item*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Enumeration*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Namespace*>;
template class __declspec(dllexport) std::initializer_list<std::basic_string<char, std::char_traits<char>, std::allocator<char>>>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::ClassTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::Expression*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VarTemplateSpecialization*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::MacroDefinition*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::TranslationUnit*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineContentComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::BlockCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<unsigned int>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::VerbatimBlockLineComment*>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::InlineCommandComment::Argument>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute>;
template class __declspec(dllexport) std::initializer_list<CppSharp::CppParser::ParserDiagnostic>;
template class __declspec(dllexport) std::less<int>;
template class __declspec(dllexport) std::_Forced<std::_Unforced>;
template class __declspec(dllexport) std::_Lex_compare_optimize<void>;
template class __declspec(dllexport) std::_String_iter_types<char, unsigned long long, long long, char*, const char*, char&, const char&>;
template class __declspec(dllexport) std::_String_iter_types<wchar_t, unsigned long long, long long, wchar_t*, const wchar_t*, wchar_t&, const wchar_t&>;
template class __declspec(dllexport) std::_String_iter_types<char16_t, unsigned long long, long long, char16_t*, const char16_t*, char16_t&, const char16_t&>;
template class __declspec(dllexport) std::_String_iter_types<char32_t, unsigned long long, long long, char32_t*, const char32_t*, char32_t&, const char32_t&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::PreprocessedEntity*, unsigned long long, long long, CppSharp::CppParser::AST::PreprocessedEntity**, const CppSharp::CppParser::AST::PreprocessedEntity**, CppSharp::CppParser::AST::PreprocessedEntity*&, const CppSharp::CppParser::AST::PreprocessedEntity*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BlockContentComment*, unsigned long long, long long, CppSharp::CppParser::AST::BlockContentComment**, const CppSharp::CppParser::AST::BlockContentComment**, CppSharp::CppParser::AST::BlockContentComment*&, const CppSharp::CppParser::AST::BlockContentComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Parameter*, unsigned long long, long long, CppSharp::CppParser::AST::Parameter**, const CppSharp::CppParser::AST::Parameter**, CppSharp::CppParser::AST::Parameter*&, const CppSharp::CppParser::AST::Parameter*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Declaration*, unsigned long long, long long, CppSharp::CppParser::AST::Declaration**, const CppSharp::CppParser::AST::Declaration**, CppSharp::CppParser::AST::Declaration*&, const CppSharp::CppParser::AST::Declaration*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::FunctionTemplateSpecialization*, unsigned long long, long long, CppSharp::CppParser::AST::FunctionTemplateSpecialization**, const CppSharp::CppParser::AST::FunctionTemplateSpecialization**, CppSharp::CppParser::AST::FunctionTemplateSpecialization*&, const CppSharp::CppParser::AST::FunctionTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TemplateArgument, unsigned long long, long long, CppSharp::CppParser::AST::TemplateArgument*, const CppSharp::CppParser::AST::TemplateArgument*, CppSharp::CppParser::AST::TemplateArgument&, const CppSharp::CppParser::AST::TemplateArgument&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Function*, unsigned long long, long long, CppSharp::CppParser::AST::Function**, const CppSharp::CppParser::AST::Function**, CppSharp::CppParser::AST::Function*&, const CppSharp::CppParser::AST::Function*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Template*, unsigned long long, long long, CppSharp::CppParser::AST::Template**, const CppSharp::CppParser::AST::Template**, CppSharp::CppParser::AST::Template*&, const CppSharp::CppParser::AST::Template*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TypedefDecl*, unsigned long long, long long, CppSharp::CppParser::AST::TypedefDecl**, const CppSharp::CppParser::AST::TypedefDecl**, CppSharp::CppParser::AST::TypedefDecl*&, const CppSharp::CppParser::AST::TypedefDecl*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TypeAlias*, unsigned long long, long long, CppSharp::CppParser::AST::TypeAlias**, const CppSharp::CppParser::AST::TypeAlias**, CppSharp::CppParser::AST::TypeAlias*&, const CppSharp::CppParser::AST::TypeAlias*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Variable*, unsigned long long, long long, CppSharp::CppParser::AST::Variable**, const CppSharp::CppParser::AST::Variable**, CppSharp::CppParser::AST::Variable*&, const CppSharp::CppParser::AST::Variable*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Friend*, unsigned long long, long long, CppSharp::CppParser::AST::Friend**, const CppSharp::CppParser::AST::Friend**, CppSharp::CppParser::AST::Friend*&, const CppSharp::CppParser::AST::Friend*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BaseClassSpecifier*, unsigned long long, long long, CppSharp::CppParser::AST::BaseClassSpecifier**, const CppSharp::CppParser::AST::BaseClassSpecifier**, CppSharp::CppParser::AST::BaseClassSpecifier*&, const CppSharp::CppParser::AST::BaseClassSpecifier*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Field*, unsigned long long, long long, CppSharp::CppParser::AST::Field**, const CppSharp::CppParser::AST::Field**, CppSharp::CppParser::AST::Field*&, const CppSharp::CppParser::AST::Field*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Method*, unsigned long long, long long, CppSharp::CppParser::AST::Method**, const CppSharp::CppParser::AST::Method**, CppSharp::CppParser::AST::Method*&, const CppSharp::CppParser::AST::Method*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::AccessSpecifierDecl*, unsigned long long, long long, CppSharp::CppParser::AST::AccessSpecifierDecl**, const CppSharp::CppParser::AST::AccessSpecifierDecl**, CppSharp::CppParser::AST::AccessSpecifierDecl*&, const CppSharp::CppParser::AST::AccessSpecifierDecl*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VTableComponent, unsigned long long, long long, CppSharp::CppParser::AST::VTableComponent*, const CppSharp::CppParser::AST::VTableComponent*, CppSharp::CppParser::AST::VTableComponent&, const CppSharp::CppParser::AST::VTableComponent&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VFTableInfo, unsigned long long, long long, CppSharp::CppParser::AST::VFTableInfo*, const CppSharp::CppParser::AST::VFTableInfo*, CppSharp::CppParser::AST::VFTableInfo&, const CppSharp::CppParser::AST::VFTableInfo&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::LayoutField, unsigned long long, long long, CppSharp::CppParser::AST::LayoutField*, const CppSharp::CppParser::AST::LayoutField*, CppSharp::CppParser::AST::LayoutField&, const CppSharp::CppParser::AST::LayoutField&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::LayoutBase, unsigned long long, long long, CppSharp::CppParser::AST::LayoutBase*, const CppSharp::CppParser::AST::LayoutBase*, CppSharp::CppParser::AST::LayoutBase&, const CppSharp::CppParser::AST::LayoutBase&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Class*, unsigned long long, long long, CppSharp::CppParser::AST::Class**, const CppSharp::CppParser::AST::Class**, CppSharp::CppParser::AST::Class*&, const CppSharp::CppParser::AST::Class*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Enumeration::Item*, unsigned long long, long long, CppSharp::CppParser::AST::Enumeration::Item**, const CppSharp::CppParser::AST::Enumeration::Item**, CppSharp::CppParser::AST::Enumeration::Item*&, const CppSharp::CppParser::AST::Enumeration::Item*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Enumeration*, unsigned long long, long long, CppSharp::CppParser::AST::Enumeration**, const CppSharp::CppParser::AST::Enumeration**, CppSharp::CppParser::AST::Enumeration*&, const CppSharp::CppParser::AST::Enumeration*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Namespace*, unsigned long long, long long, CppSharp::CppParser::AST::Namespace**, const CppSharp::CppParser::AST::Namespace**, CppSharp::CppParser::AST::Namespace*&, const CppSharp::CppParser::AST::Namespace*&>;
template class __declspec(dllexport) std::_Vec_iter_types<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, unsigned long long, long long, std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, const std::basic_string<char, std::char_traits<char>, std::allocator<char>>*, std::basic_string<char, std::char_traits<char>, std::allocator<char>>&, const std::basic_string<char, std::char_traits<char>, std::allocator<char>>&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::ClassTemplateSpecialization*, unsigned long long, long long, CppSharp::CppParser::AST::ClassTemplateSpecialization**, const CppSharp::CppParser::AST::ClassTemplateSpecialization**, CppSharp::CppParser::AST::ClassTemplateSpecialization*&, const CppSharp::CppParser::AST::ClassTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::Expression*, unsigned long long, long long, CppSharp::CppParser::AST::Expression**, const CppSharp::CppParser::AST::Expression**, CppSharp::CppParser::AST::Expression*&, const CppSharp::CppParser::AST::Expression*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VarTemplateSpecialization*, unsigned long long, long long, CppSharp::CppParser::AST::VarTemplateSpecialization**, const CppSharp::CppParser::AST::VarTemplateSpecialization**, CppSharp::CppParser::AST::VarTemplateSpecialization*&, const CppSharp::CppParser::AST::VarTemplateSpecialization*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::MacroDefinition*, unsigned long long, long long, CppSharp::CppParser::AST::MacroDefinition**, const CppSharp::CppParser::AST::MacroDefinition**, CppSharp::CppParser::AST::MacroDefinition*&, const CppSharp::CppParser::AST::MacroDefinition*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::TranslationUnit*, unsigned long long, long long, CppSharp::CppParser::AST::TranslationUnit**, const CppSharp::CppParser::AST::TranslationUnit**, CppSharp::CppParser::AST::TranslationUnit*&, const CppSharp::CppParser::AST::TranslationUnit*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::InlineContentComment*, unsigned long long, long long, CppSharp::CppParser::AST::InlineContentComment**, const CppSharp::CppParser::AST::InlineContentComment**, CppSharp::CppParser::AST::InlineContentComment*&, const CppSharp::CppParser::AST::InlineContentComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::BlockCommandComment::Argument, unsigned long long, long long, CppSharp::CppParser::AST::BlockCommandComment::Argument*, const CppSharp::CppParser::AST::BlockCommandComment::Argument*, CppSharp::CppParser::AST::BlockCommandComment::Argument&, const CppSharp::CppParser::AST::BlockCommandComment::Argument&>;
template class __declspec(dllexport) std::_Vec_iter_types<unsigned int, unsigned long long, long long, unsigned int*, const unsigned int*, unsigned int&, const unsigned int&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::VerbatimBlockLineComment*, unsigned long long, long long, CppSharp::CppParser::AST::VerbatimBlockLineComment**, const CppSharp::CppParser::AST::VerbatimBlockLineComment**, CppSharp::CppParser::AST::VerbatimBlockLineComment*&, const CppSharp::CppParser::AST::VerbatimBlockLineComment*&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::InlineCommandComment::Argument, unsigned long long, long long, CppSharp::CppParser::AST::InlineCommandComment::Argument*, const CppSharp::CppParser::AST::InlineCommandComment::Argument*, CppSharp::CppParser::AST::InlineCommandComment::Argument&, const CppSharp::CppParser::AST::InlineCommandComment::Argument&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::AST::HTMLStartTagComment::Attribute, unsigned long long, long long, CppSharp::CppParser::AST::HTMLStartTagComment::Attribute*, const CppSharp::CppParser::AST::HTMLStartTagComment::Attribute*, CppSharp::CppParser::AST::HTMLStartTagComment::Attribute&, const CppSharp::CppParser::AST::HTMLStartTagComment::Attribute&>;
template class __declspec(dllexport) std::_Vec_iter_types<CppSharp::CppParser::ParserDiagnostic, unsigned long long, long long, CppSharp::CppParser::ParserDiagnostic*, const CppSharp::CppParser::ParserDiagnostic*, CppSharp::CppParser::ParserDiagnostic&, const CppSharp::CppParser::ParserDiagnostic&>;
template class __declspec(dllexport) std::_Tree_iter_types<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>, unsigned long long, long long, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>*, const std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>*, std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>&, const std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>&, std::_Tree_node<std::pair<std::basic_string<char, std::char_traits<char>, std::allocator<char>>, CppSharp::CppParser::AST::Declaration*>, void*>*>;

129
src/CppParser/Bindings/CSharp/x86_64-pc-win32-msvc/Std.cs

@ -4317,7 +4317,7 @@ namespace std
namespace _Yarn namespace _Yarn
{ {
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_char public unsafe partial struct Internalc__N_std_S__Yarn__C
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr _Myptr; public global::System.IntPtr _Myptr;
@ -4327,7 +4327,7 @@ namespace std
} }
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_wchar_t public unsafe partial struct Internalc__N_std_S__Yarn__W
{ {
[FieldOffset(0)] [FieldOffset(0)]
public global::System.IntPtr _Myptr; public global::System.IntPtr _Myptr;
@ -4340,301 +4340,301 @@ namespace std
namespace _Compressed_pair namespace _Compressed_pair
{ {
[StructLayout(LayoutKind.Explicit, Size = 32)] [StructLayout(LayoutKind.Explicit, Size = 32)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 32)] [StructLayout(LayoutKind.Explicit, Size = 32)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_wchar_t_std__String_val_std__Simple_types_wchar_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__W___N_std_S__String_val____N_std_S__Simple_types__W_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 32)] [StructLayout(LayoutKind.Explicit, Size = 32)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char16_t_std__String_val_std__Simple_types_char16_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__q___N_std_S__String_val____N_std_S__Simple_types__q_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 32)] [StructLayout(LayoutKind.Explicit, Size = 32)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_char32_t_std__String_val_std__Simple_types_char32_t public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__w___N_std_S__String_val____N_std_S__Simple_types__w_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._String_val.Internal _Myval2; internal global::std._String_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BlockContentCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BlockContentCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BlockContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ParameterPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ParameterPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Parameter___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_DeclarationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Declaration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FunctionTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FunctionTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_FunctionTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TemplateArgument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TemplateArgument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_TemplateArgument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FunctionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FunctionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Function___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TemplatePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TemplatePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Template___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TypedefDeclPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TypedefDeclPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypedefDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TypeAliasPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TypeAliasPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TypeAlias___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VariablePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VariablePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Variable___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FriendPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FriendPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Friend___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Myval2; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1 _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 16)] [StructLayout(LayoutKind.Explicit, Size = 16)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1__N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S3__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Tree_val.Internal _Myval2; internal global::std._Tree_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BaseClassSpecifierPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BaseClassSpecifierPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_BaseClassSpecifier___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_FieldPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_FieldPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Field___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_MethodPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_MethodPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Method___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_AccessSpecifierDeclPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_AccessSpecifierDeclPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_AccessSpecifierDecl___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VTableComponent_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VTableComponent public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VTableComponent___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VFTableInfo_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VFTableInfo public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_VFTableInfo___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_LayoutField_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_LayoutField public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutField___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_LayoutBase_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_LayoutBase public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_LayoutBase___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ClassPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ClassPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Class___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_Enumeration_ItemPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_Enumeration_ItemPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration_S_Item___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_EnumerationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_EnumerationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Enumeration___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_NamespacePtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_NamespacePtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Namespace___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Vector_val_std__Simple_types_std_basic_string_char_std_char_traits_char_std_allocator_char public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ClassTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ClassTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_ClassTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_ExpressionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_ExpressionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_Expression___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VarTemplateSpecializationPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VarTemplateSpecializationPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VarTemplateSpecialization___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_MacroDefinitionPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_MacroDefinitionPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_MacroDefinition___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_TranslationUnitPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_TranslationUnitPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_TranslationUnit___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_InlineContentCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_InlineContentCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_InlineContentComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_BlockCommandComment_Argument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_BlockCommandComment_Argument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_BlockCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_unsigned_int_std__Vector_val_std__Simple_types_unsigned_int public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__i___N_std_S__Vector_val____N_std_S__Simple_types__i_Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_VerbatimBlockLineCommentPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_VerbatimBlockLineCommentPtr public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_VerbatimBlockLineComment___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_InlineCommandComment_Argument_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_InlineCommandComment_Argument public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_InlineCommandComment_S_Argument___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_HTMLStartTagComment_Attribute_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_HTMLStartTagComment_Attribute public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_N_AST_S_HTMLStartTagComment_S_Attribute___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
} }
[StructLayout(LayoutKind.Explicit, Size = 24)] [StructLayout(LayoutKind.Explicit, Size = 24)]
public unsafe partial struct Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_ParserDiagnostic_std__Vector_val_std__Simple_types_CppSharp_CppParser_ParserDiagnostic public unsafe partial struct Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_CppSharp_N_CppParser_S_ParserDiagnostic___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Vector_val.Internal _Myval2; internal global::std._Vector_val.Internal _Myval2;
@ -4888,6 +4888,15 @@ namespace std
} }
} }
public unsafe partial class rebind
{
[StructLayout(LayoutKind.Explicit, Size = 0)]
public partial struct Internal
{
}
}
namespace _Wrap_alloc namespace _Wrap_alloc
{ {
[StructLayout(LayoutKind.Explicit, Size = 0)] [StructLayout(LayoutKind.Explicit, Size = 0)]
@ -6006,7 +6015,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
[SuppressUnmanagedCodeSecurity] [SuppressUnmanagedCodeSecurity]
[DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl, [DllImport("Std-templates", CallingConvention = global::System.Runtime.InteropServices.CallingConvention.Cdecl,
@ -6085,7 +6094,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_char_std__String_val_std__Simple_types_char _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator__C___N_std_S__String_val____N_std_S__Simple_types__C_Vb1 _Mypair;
} }
} }
@ -6275,7 +6284,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
} }
} }
@ -6285,7 +6294,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std__Wrap_alloc_std_allocator_CppSharp_CppParser_AST_PreprocessedEntityPtr_std__Vector_val_std__Simple_types_CppSharp_CppParser_AST_PreprocessedEntityPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator_____N_CppSharp_N_CppParser_N_AST_S_PreprocessedEntity___N_std_S__Vector_val____N_std_S__Simple_types__S2__Vb1 _Mypair;
} }
} }
} }
@ -6378,7 +6387,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
} }
@ -6388,7 +6397,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
@ -6436,7 +6445,7 @@ namespace std
public unsafe partial struct Internal public unsafe partial struct Internal
{ {
[FieldOffset(0)] [FieldOffset(0)]
internal global::std._Compressed_pair.Internal_std_less_std_basic_string_char_std_char_traits_char_std_allocator_char_std__Compressed_pair_std__Wrap_alloc_std_allocator_std__Tree_node_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr_voidPtr_std__Tree_val_std__Tree_simple_types_std_pair_std_basic_string_char_std_char_traits_char_std_allocator_char_CppSharp_CppParser_AST_DeclarationPtr _Mypair; internal global::std._Compressed_pair.Internalc__N_std_S__Compressed_pair____N_std_S_less____N_std_S_basic_string__C___N_std_S_char_traits__C___N_std_S_allocator__C___N_std_S__Compressed_pair____N_std_S__Wrap_alloc____N_std_S_allocator____N_std_S__Tree_node____N_std_S_pair__1S1_____N_CppSharp_N_CppParser_N_AST_S_Declaration__v___N_std_S__Tree_val____N_std_S__Tree_simple_types__S8__Vb1_Vb1 _Mypair;
} }
} }
} }
@ -6759,22 +6768,22 @@ namespace std
internal global::std._Lockit.Internal _Lock; internal global::std._Lockit.Internal _Lock;
[FieldOffset(8)] [FieldOffset(8)]
internal global::std._Yarn.Internal_char _Days; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Days;
[FieldOffset(24)] [FieldOffset(24)]
internal global::std._Yarn.Internal_char _Months; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Months;
[FieldOffset(40)] [FieldOffset(40)]
internal global::std._Yarn.Internal_wchar_t _W_Days; internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Days;
[FieldOffset(56)] [FieldOffset(56)]
internal global::std._Yarn.Internal_wchar_t _W_Months; internal global::std._Yarn.Internalc__N_std_S__Yarn__W _W_Months;
[FieldOffset(72)] [FieldOffset(72)]
internal global::std._Yarn.Internal_char _Oldlocname; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Oldlocname;
[FieldOffset(88)] [FieldOffset(88)]
internal global::std._Yarn.Internal_char _Newlocname; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Newlocname;
} }
} }
} }
@ -6901,7 +6910,7 @@ namespace std
public byte _Xparent; public byte _Xparent;
[FieldOffset(40)] [FieldOffset(40)]
internal global::std._Yarn.Internal_char _Name; internal global::std._Yarn.Internalc__N_std_S__Yarn__C _Name;
} }
} }

2
src/Generator/Driver.cs

@ -299,6 +299,8 @@ namespace CppSharp
{ {
TranslationUnitPasses.AddPass(new SortDeclarationsPass()); TranslationUnitPasses.AddPass(new SortDeclarationsPass());
TranslationUnitPasses.AddPass(new ResolveIncompleteDeclsPass()); TranslationUnitPasses.AddPass(new ResolveIncompleteDeclsPass());
if (Options.IsCSharpGenerator)
TranslationUnitPasses.AddPass(new MarkSupportedSpecializationsPass());
TranslationUnitPasses.AddPass(new IgnoreSystemDeclarationsPass()); TranslationUnitPasses.AddPass(new IgnoreSystemDeclarationsPass());
TranslationUnitPasses.AddPass(new CheckIgnoredDeclsPass()); TranslationUnitPasses.AddPass(new CheckIgnoredDeclsPass());

3
src/Generator/Generators/CLI/CLITypeReferences.cs

@ -177,7 +177,8 @@ namespace CppSharp.Generators.CLI
public override bool VisitDeclaration(Declaration decl) public override bool VisitDeclaration(Declaration decl)
{ {
return decl.IsDeclared; return decl.IsDeclared &&
(decl.Namespace == null || !decl.TranslationUnit.IsSystemHeader);
} }
public override bool VisitClassDecl(Class @class) public override bool VisitClassDecl(Class @class)

57
src/Generator/Generators/CSharp/CSharpSources.cs

@ -236,14 +236,7 @@ namespace CppSharp.Generators.CSharp
GenerateClass(@class); GenerateClass(@class);
continue; continue;
} }
if (@class.IsSupportedStdType()) if (!(@class.Namespace is Class))
{
var specialization = @class.Specializations.SingleOrDefault(
ClassExtensions.IsSupportedStdSpecialization);
if (specialization != null)
GenerateClass(specialization);
}
else if (!(@class.Namespace is Class))
GenerateClassTemplateSpecializationInternal(@class); GenerateClassTemplateSpecializationInternal(@class);
} }
@ -307,22 +300,43 @@ namespace CppSharp.Generators.CSharp
if (classTemplate.Specializations.Count == 0) if (classTemplate.Specializations.Count == 0)
return; return;
IList<ClassTemplateSpecialization> specializations; bool generateClass = false;
List<ClassTemplateSpecialization> specializations;
if (classTemplate.Fields.Any( if (classTemplate.Fields.Any(
f => f.Type.Desugar() is TemplateParameterType)) f => f.Type.Desugar() is TemplateParameterType))
specializations = classTemplate.Specializations; specializations = classTemplate.Specializations;
else else
specializations = new[] { classTemplate.Specializations[0] }; {
specializations = new List<ClassTemplateSpecialization>();
var specialization = classTemplate.Specializations.FirstOrDefault(s => !s.Ignore);
if (specialization == null)
{
specializations.Add(classTemplate.Specializations[0]);
}
else
{
specializations.Add(specialization);
generateClass = true;
}
}
PushBlock(CSharpBlockKind.Namespace); if (!generateClass)
WriteLine("namespace {0}{1}", {
classTemplate.OriginalNamespace is Class ? PushBlock(CSharpBlockKind.Namespace);
classTemplate.OriginalNamespace.Name + '_' : string.Empty, WriteLine("namespace {0}{1}",
classTemplate.Name); classTemplate.OriginalNamespace is Class ?
WriteStartBraceIndent(); classTemplate.OriginalNamespace.Name + '_' : string.Empty,
classTemplate.Name);
WriteStartBraceIndent();
}
foreach (var specialization in specializations) foreach (var specialization in specializations)
GenerateClassInternals(specialization); {
if (specialization.Ignore)
GenerateClassInternals(specialization);
else
GenerateClass(specialization);
}
foreach (var nestedClass in classTemplate.Classes) foreach (var nestedClass in classTemplate.Classes)
{ {
@ -334,8 +348,11 @@ namespace CppSharp.Generators.CSharp
WriteCloseBraceIndent(); WriteCloseBraceIndent();
} }
WriteCloseBraceIndent(); if (!generateClass)
PopBlock(NewLineKind.BeforeNextBlock); {
WriteCloseBraceIndent();
PopBlock(NewLineKind.BeforeNextBlock);
}
} }
public void GenerateDeclarationCommon(Declaration decl) public void GenerateDeclarationCommon(Declaration decl)
@ -2563,7 +2580,7 @@ namespace CppSharp.Generators.CSharp
var templateSpecialization = function.Namespace as ClassTemplateSpecialization; var templateSpecialization = function.Namespace as ClassTemplateSpecialization;
string @namespace = templateSpecialization != null && string @namespace = templateSpecialization != null &&
!templateSpecialization.IsSupportedStdType() ? templateSpecialization.Ignore ?
(templateSpecialization.Namespace.OriginalName + '.') : string.Empty; (templateSpecialization.Namespace.OriginalName + '.') : string.Empty;
var functionName = string.Format("{0}Internal.{1}", @namespace, var functionName = string.Format("{0}Internal.{1}", @namespace,

4
src/Generator/Generators/Template.cs

@ -309,8 +309,8 @@ namespace CppSharp.Generators
public string Generate() public string Generate()
{ {
if (Options.IsCSharpGenerator && Options.CompileCode) //if (Options.IsCSharpGenerator && Options.CompileCode)
return RootBlock.GenerateUnformatted(Options).ToString(); // return RootBlock.GenerateUnformatted(Options).ToString();
return RootBlock.Generate(Options); return RootBlock.Generate(Options);
} }

12
src/Generator/Passes/CheckIgnoredDecls.cs

@ -1,4 +1,5 @@
using CppSharp.AST; using System.Linq;
using CppSharp.AST;
using CppSharp.AST.Extensions; using CppSharp.AST.Extensions;
using CppSharp.Types; using CppSharp.Types;
@ -33,16 +34,13 @@ namespace CppSharp.Passes
return true; return true;
} }
public override bool VisitClassTemplateDecl(ClassTemplate template) public override bool VisitClassDecl(Class @class)
{ {
if (!base.VisitClassTemplateDecl(template)) if (!base.VisitClassDecl(@class) || !@class.IsDependent)
return false;
if (!Driver.Options.IsCLIGenerator && template.TranslationUnit.IsSystemHeader)
return false; return false;
// templates are not supported yet // templates are not supported yet
foreach (var specialization in template.Specializations) foreach (var specialization in @class.Specializations.Where(s => !s.IsExplicitlyGenerated))
specialization.ExplicitlyIgnore(); specialization.ExplicitlyIgnore();
return true; return true;

3
src/Generator/Passes/GenerateTemplatesCodePass.cs

@ -3,7 +3,6 @@ using System.IO;
using System.Linq; using System.Linq;
using System.Text; using System.Text;
using CppSharp.AST; using CppSharp.AST;
using CppSharp.Types;
namespace CppSharp.Passes namespace CppSharp.Passes
{ {
@ -20,7 +19,7 @@ namespace CppSharp.Passes
{ {
if (!specialization.IsDependent && if (!specialization.IsDependent &&
(!specialization.TranslationUnit.IsSystemHeader || (!specialization.TranslationUnit.IsSystemHeader ||
specialization.IsSupportedStdSpecialization())) !specialization.Ignore))
{ {
var cppTypePrinter = new CppTypePrinter var cppTypePrinter = new CppTypePrinter
{ {

2
src/Generator/Passes/GetterSetterToPropertyAdvancedPass.cs

@ -330,7 +330,7 @@ namespace CppSharp.Passes
public override bool VisitClassDecl(Class @class) public override bool VisitClassDecl(Class @class)
{ {
if (VisitDeclarationContext(@class) && !@class.IsSupportedStdType()) if (VisitDeclarationContext(@class))
{ {
if (Options.VisitClassBases) if (Options.VisitClassBases)
foreach (var baseClass in @class.Bases) foreach (var baseClass in @class.Bases)

30
src/Generator/Passes/IgnoreSystemDeclarationsPass.cs

@ -41,15 +41,8 @@ namespace CppSharp.Passes
if (!@class.TranslationUnit.IsSystemHeader) if (!@class.TranslationUnit.IsSystemHeader)
return false; return false;
if (!@class.IsSupportedStdType()) if (!@class.IsExplicitlyGenerated)
{
@class.ExplicitlyIgnore(); @class.ExplicitlyIgnore();
if (@class.IsDependent)
foreach (var specialization in @class.Specializations)
specialization.ExplicitlyIgnore();
return false;
}
if (!@class.IsDependent) if (!@class.IsDependent)
return false; return false;
@ -58,10 +51,8 @@ namespace CppSharp.Passes
switch (@class.Name) switch (@class.Name)
{ {
case "basic_string": case "basic_string":
foreach (var specialization in @class.Specializations.Where( foreach (var specialization in @class.Specializations.Where(s => !s.Ignore))
s => s.IsSupportedStdSpecialization()))
{ {
MarkForGeneration(specialization);
foreach (var method in specialization.Methods.Where(m => m.OriginalName != "c_str")) foreach (var method in specialization.Methods.Where(m => m.OriginalName != "c_str"))
method.ExplicitlyIgnore(); method.ExplicitlyIgnore();
var l = specialization.Methods.Where(m => m.IsConstructor && m.Parameters.Count == 2).ToList(); var l = specialization.Methods.Where(m => m.IsConstructor && m.Parameters.Count == 2).ToList();
@ -74,13 +65,9 @@ namespace CppSharp.Passes
} }
break; break;
case "allocator": case "allocator":
foreach (var specialization in @class.Specializations.Where( foreach (var specialization in @class.Specializations.Where(s => !s.Ignore))
s => s.IsSupportedStdSpecialization()))
{
MarkForGeneration(specialization);
foreach (var method in specialization.Methods.Where(m => !m.IsConstructor || m.Parameters.Any())) foreach (var method in specialization.Methods.Where(m => !m.IsConstructor || m.Parameters.Any()))
method.ExplicitlyIgnore(); method.ExplicitlyIgnore();
}
break; break;
} }
return true; return true;
@ -118,16 +105,5 @@ namespace CppSharp.Passes
return true; return true;
} }
private static void MarkForGeneration(ClassTemplateSpecialization specialization)
{
specialization.GenerationKind = GenerationKind.Generate;
Declaration declaration = specialization.TemplatedDecl.TemplatedDecl;
while (declaration != null)
{
declaration.GenerationKind = GenerationKind.Generate;
declaration = declaration.Namespace;
}
}
} }
} }

63
src/Generator/Passes/MarkSupportedClassTemplateSpecializationsPass.cs

@ -0,0 +1,63 @@
using System.Linq;
using CppSharp.AST;
using CppSharp.AST.Extensions;
namespace CppSharp.Passes
{
public class MarkSupportedSpecializationsPass : TranslationUnitPass
{
public override bool VisitClassDecl(Class @class)
{
if (!base.VisitClassDecl(@class) || !@class.IsDependent)
return false;
foreach (var specialization in @class.Specializations)
{
if (IsSupportedStdSpecialization(specialization))
{
MarkForGeneration(specialization);
@class.GenerationKind = GenerationKind.Generate;
}
}
return true;
}
private static bool IsSupportedStdSpecialization(ClassTemplateSpecialization specialization)
{
return IsSupportedStdType(specialization) &&
specialization.Arguments[0].Type.Type.IsPrimitiveType(PrimitiveType.Char);
}
private static bool IsSupportedStdType(Declaration declaration)
{
return declaration.Namespace != null &&
declaration.TranslationUnit.IsSystemHeader &&
IsNameSpaceStd(declaration.Namespace) &&
supportedStdTypes.Contains(declaration.OriginalName);
}
private static bool IsNameSpaceStd(DeclarationContext declarationContext)
{
if (declarationContext == null)
return false;
var @namespace = declarationContext as Namespace;
if (@namespace != null && @namespace.IsInline)
return IsNameSpaceStd(declarationContext.Namespace);
return declarationContext.OriginalName == "std";
}
private static void MarkForGeneration(ClassTemplateSpecialization specialization)
{
specialization.GenerationKind = GenerationKind.Generate;
Declaration declaration = specialization.TemplatedDecl.TemplatedDecl;
while (declaration != null)
{
declaration.GenerationKind = GenerationKind.Generate;
declaration = declaration.Namespace;
}
}
private static string[] supportedStdTypes = { "basic_string", "allocator" };
}
}

9
src/Generator/Types/Std/Stdlib.cs

@ -67,7 +67,7 @@ namespace CppSharp.Types.Std
ctx.Return.Write("*({0}*) ", basicString.Visit(typePrinter)); ctx.Return.Write("*({0}*) ", basicString.Visit(typePrinter));
typePrinter.PopContext(); typePrinter.PopContext();
var allocator = ctx.Driver.ASTContext.FindClass("allocator", false, true).First( var allocator = ctx.Driver.ASTContext.FindClass("allocator", false, true).First(
a => a.IsSupportedStdType()); a => a.IsDependent);
if (type.IsPointer() || (type.IsReference() && ctx.Declaration is Field)) if (type.IsPointer() || (type.IsReference() && ctx.Declaration is Field))
{ {
ctx.Return.Write("new {0}({1}, new {2}()).{3}", ctx.Return.Write("new {0}({1}, new {2}()).{3}",
@ -93,7 +93,9 @@ namespace CppSharp.Types.Std
{ {
var type = ctx.ReturnType.Type; var type = ctx.ReturnType.Type;
ClassTemplateSpecialization basicString = GetBasicString(type); ClassTemplateSpecialization basicString = GetBasicString(type);
var c_str = basicString.Methods.First(m => m.OriginalName == "c_str"); Declaration c_str = basicString.Methods.FirstOrDefault(m => m.OriginalName == "c_str");
if (c_str == null)
c_str = basicString.Properties.First(p => p.OriginalName == "c_str");
var typePrinter = new CSharpTypePrinter(ctx.Driver); var typePrinter = new CSharpTypePrinter(ctx.Driver);
if (type.IsPointer() || ctx.Declaration is Field) if (type.IsPointer() || ctx.Declaration is Field)
{ {
@ -108,7 +110,8 @@ namespace CppSharp.Types.Std
varBasicString, basicString.Visit(typePrinter), varBasicString, basicString.Visit(typePrinter),
Helpers.CreateInstanceIdentifier, ctx.ReturnVarName); Helpers.CreateInstanceIdentifier, ctx.ReturnVarName);
ctx.SupportBefore.WriteStartBraceIndent(); ctx.SupportBefore.WriteStartBraceIndent();
ctx.Return.Write("{0}.{1}()", varBasicString, c_str.Name); ctx.Return.Write("{0}.{1}{2}", varBasicString, c_str.Name,
c_str is Method ? "()" : string.Empty);
ctx.HasCodeBlock = true; ctx.HasCodeBlock = true;
} }
} }

2
src/Generator/Types/Types.cs

@ -118,7 +118,7 @@ namespace CppSharp
} }
var specialization = template.GetClassTemplateSpecialization(); var specialization = template.GetClassTemplateSpecialization();
if (specialization == null || !specialization.IsSupportedStdType()) if (specialization == null || specialization.Ignore)
Ignore(); Ignore();
return base.VisitTemplateSpecializationType(template, quals); return base.VisitTemplateSpecializationType(template, quals);
} }

Loading…
Cancel
Save