diff --git a/src/Generator/Generators/CLI/CLIMarshal.cs b/src/Generator/Generators/CLI/CLIMarshal.cs index 334c2e84..6376e74a 100644 --- a/src/Generator/Generators/CLI/CLIMarshal.cs +++ b/src/Generator/Generators/CLI/CLIMarshal.cs @@ -139,6 +139,14 @@ namespace Cxxi.Generators.CLI public bool VisitTemplateSpecializationType(TemplateSpecializationType template, TypeQualifiers quals) { + TypeMap typeMap; + if (TypeMapDatabase.FindTypeMap(template, out typeMap)) + { + typeMap.Type = template; + typeMap.CLIMarshalToManaged(Context); + return true; + } + return template.Template.Visit(this); } @@ -416,6 +424,14 @@ namespace Cxxi.Generators.CLI public bool VisitTemplateSpecializationType(TemplateSpecializationType template, TypeQualifiers quals) { + TypeMap typeMap = null; + if (TypeMapDatabase.FindTypeMap(template, out typeMap)) + { + typeMap.Type = template; + typeMap.CLIMarshalToNative(Context); + return true; + } + return template.Template.Visit(this); }