diff --git a/.gitignore b/.gitignore
index add57be707d1a627fd960286263733b8f2df2dcb..91953df8c9c05ca812482d89298c139895924120 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,4 +2,5 @@ bin/
 obj/
 /packages/
 riderModule.iml
-/_ReSharper.Caches/
\ No newline at end of file
+/_ReSharper.Caches/
+.idea
\ No newline at end of file
diff --git a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs
index e9f6f672b3385d11150a3dd58e21ce56590ff572..173f674c422fe5f815bc7cae84f2c2819f55ff5c 100644
--- a/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs
+++ b/LanguageRecogniser/Cpp/CppClassDiagramVisitor.cs
@@ -112,8 +112,8 @@ public class CppClassDiagramVisitor : CPP14ParserBaseVisitor<object>
                     else
                     {
                         // Regular expressions
-                        string aggregationPattern = @"^(std::vector<(\w*)\*>|(\w*)\*|(\w*)\* (\w*|\[\]))$";
-                        string compositionPattern = @"^(std::vector<(\w*)>|(\w*)|(\w*) (\w*|\[\]))$";
+                        string aggregationPattern = @"^((std::)?vector<(\w*)\*>|(\w*)\*|(\w*)\* (\w*|\[\]))$";
+                        string compositionPattern = @"^((std::)?vector<(\w*)>|(\w*)|(\w*) (\w*|\[\]))$";
 
                         // Check if the property type matches aggregation or composition
                         Match aggregationMatch = Regex.Match(atribute.Type, aggregationPattern);