Skip to main content
aboutsummaryrefslogblamecommitdiffstats
blob: 4f51ef715f13ee329ccab3793b4e5a3f50441cde (plain) (tree)
1
2
3
4
5
6
7





                                                                                                                                                                                                                                                                                    
                                                                                                               











                                                                                                                     
                                                                                                                                    






                                                                                                                     
                                                                                                                                    




























                                                                                                                                                                                                                                                                                                              
                                                                                                                                    





















                                                                                                                          
                                                                                                                                        





























































































                                                                                                                                                                        
                                                                                                                                      










                                                                                                                     
                                                                                                                                        
                       
                                                                                                                                                                     








                                                                                                 
                                                                                                                                    














































































































































                                                                                                                     









                                                                                   




                                                                                  




                                                                                   




































































































































































































































































































































                                                                                                                  
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
  <mtl:Module name="CppPackageHeader" nsURI="org::eclipse::papyrus::cpp::codegen::acceleo::CppPackageHeader" endHeaderPosition="65">
    <input>
      <takesTypesFrom href="http://www.eclipse.org/uml2/4.0.0/UML#/"/>
    </input>
    <imports href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0"/>
    <imports href="../utils/CppGenUtils.emtl#/0"/>
    <imports href="../preferences/CppCodeGenUtils.emtl#/0"/>
    <imports href="Constants.emtl#/0"/>
    <imports href="CppIncludeUtils.emtl#/0"/>
    <imports href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0"/>
    <imports href="util/clazz/CppClassTypeAndEnum.emtl#/0"/>
    <imports href="util/clazz/CppClassFriendDeclaration.emtl#/0"/>
    <imports href="util/CppDocumentation.emtl#/0"/>
    <ownedModuleElement xsi:type="mtl:Template" name="CppPackageHeader" visibility="Public">
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#ifndef PKG_"/>
      <body xsi:type="mtl:QueryInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/6">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;#define PKG_"/>
      <body xsi:type="mtl:QueryInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/7">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;/************************************************************&#xA;              Pkg_"/>
      <body xsi:type="ocl.ecore:PropertyCallExp">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/8">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </source>
        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header&#xA; ************************************************************/&#xA;&#xA;"/>
      <body xsi:type="mtl:TemplateInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/>
        <argument xsi:type="ocl.ecore:PropertyCallExp">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/9">
            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          </source>
          <referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package/nestingPackage"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;#ifndef _IN_&#xA;#define _IN_&#xA;#endif&#xA;#ifndef _OUT_&#xA;#define _OUT_&#xA;#endif&#xA;#ifndef _INOUT_&#xA;#define _INOUT_&#xA;#endif&#xA;&#xA;&#x9;&#xA;/* Package dependency header include                        */&#xA;"/>
      <body xsi:type="mtl:ForBlock">
        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="#include &lt;"/>
        <body xsi:type="mtl:QueryInvocation">
          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
          <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
          <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/13">
            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          </argument>
        </body>
        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="/Pkg_"/>
        <body xsi:type="ocl.ecore:PropertyCallExp">
          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
          <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/14">
            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          </source>
          <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
        </body>
        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="."/>
        <body xsi:type="mtl:QueryInvocation">
          <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
          <definition href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
          <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/15">
            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          </argument>
        </body>
        <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=">&#xA;"/>
        <iterSet xsi:type="mtl:QueryInvocation" eType="/10/Sequence(Package)">
          <definition href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/>
          <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/11">
            <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
          </argument>
        </iterSet>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
      <body xsi:type="mtl:TemplateInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/18">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;"/>
      <body xsi:type="mtl:QueryInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="../utils/CppGenUtils.emtl#/0/openNS"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/19">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
      <body xsi:type="mtl:TemplateInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="Constants.emtl#/0/packageTypes"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/20">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
      <body xsi:type="mtl:TemplateInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/21">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;"/>
      <body xsi:type="mtl:QueryInvocation">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <definition href="../utils/CppGenUtils.emtl#/0/closeNS"/>
        <argument xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/22">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </argument>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xA;&#xA;/************************************************************&#xA;              End of Pkg_"/>
      <body xsi:type="ocl.ecore:PropertyCallExp">
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <source xsi:type="ocl.ecore:VariableExp" name="self" referredVariable="/23">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </source>
        <referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement/name"/>
      </body>
      <body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" package header&#xA; ************************************************************/&#xA;&#xA;#endif"/>
      <parameter name="pkg">
        <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
      </parameter>
    </ownedModuleElement>
  </mtl:Module>
  <ecore:EPackage name="additions">
    <eClassifiers xsi:type="ecore:EClass" name="String_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Real_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
      </eAnnotations>
      <eOperations name="CppPackageHeader">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL" references="/0/CppPackageHeader"/>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="pkg">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </eParameters>
      </eOperations>
      <eOperations name="getFullNameUC">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullNameUC"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="arg0">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
        </eParameters>
      </eOperations>
      <eOperations name="getUsedPackages">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getUsedPackages"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:SequenceType" href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/3/Sequence(Package)"/>
        <eParameters name="arg0">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </eParameters>
      </eOperations>
      <eOperations name="getFullPath">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="platform:/plugin/org.eclipse.papyrus.acceleo/org/eclipse/papyrus/acceleo/GenUtils.emtl#/0/getFullPath"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="arg0">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </eParameters>
      </eOperations>
      <eOperations name="openNS">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="../utils/CppGenUtils.emtl#/0/openNS"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="arg0">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
        </eParameters>
      </eOperations>
      <eOperations name="closeNS">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="../utils/CppGenUtils.emtl#/0/closeNS"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="arg0">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
        </eParameters>
      </eOperations>
      <eOperations name="getHeaderSuffix">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="../preferences/CppCodeGenUtils.emtl#/0/getHeaderSuffix"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
      </eOperations>
      <eOperations name="packageTypes">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="Constants.emtl#/0/packageTypes"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="dummy">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
        </eParameters>
      </eOperations>
      <eOperations name="CppIncludeHeader">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="CppIncludeUtils.emtl#/0/CppIncludeHeader"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="ne">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
        </eParameters>
      </eOperations>
      <eOperations name="CppOwnerPackageIncludeDeclaration">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="util/clazz/CppClassIncludeClassDeclaration.emtl#/0/CppOwnerPackageIncludeDeclaration"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="pkg">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </eParameters>
      </eOperations>
      <eOperations name="CppClassTypeAndEnumPackage">
        <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
          <contents xsi:type="ocl.ecore:Constraint"/>
        </eAnnotations>
        <eAnnotations source="MTL">
          <references href="util/clazz/CppClassTypeAndEnum.emtl#/0/CppClassTypeAndEnumPackage"/>
        </eAnnotations>
        <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
        <eParameters name="pkg">
          <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
        </eParameters>
      </eOperations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Package_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Class_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Class"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Classifier"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="TemplateParameter_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//TemplateParameter"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="NamedElement_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//NamedElement"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Element_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Element"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Operation_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Operation"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="OpaqueBehavior_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//OpaqueBehavior"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Behavior_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Behavior"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="PrimitiveType_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//PrimitiveType"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="VisibilityKind_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//VisibilityKind"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Namespace_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Namespace"/>
      </eAnnotations>
    </eClassifiers>
    <eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
      <eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
        <references href="http://www.eclipse.org/uml2/4.0.0/UML#//Parameter"/>
      </eAnnotations>
    </eClassifiers>
  </ecore:EPackage>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ecore:EPackage name="collections">
    <eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Package)" instanceClassName="java.util.List">
      <elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
    </eClassifiers>
  </ecore:EPackage>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="i">
    <eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/4.0.0/UML#//Package"/>
  </ocl.ecore:Variable>
  <ocl.ecore:Variable name="self">
    <eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
  </ocl.ecore:Variable>
  <ecore:EAnnotation source="positions">
    <eAnnotations source="positions.0" references="/0/CppPackageHeader">
      <details key="start" value="767"/>
      <details key="end" value="1661"/>
      <details key="line" value="15"/>
    </eAnnotations>
    <eAnnotations source="positions.1" references="/0/CppPackageHeader/%">
      <details key="start" value="817"/>
      <details key="end" value="829"/>
      <details key="line" value="16"/>
    </eAnnotations>
    <eAnnotations source="positions.2" references="/0/CppPackageHeader/%.1">
      <details key="start" value="830"/>
      <details key="end" value="845"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.3" references="/0/CppPackageHeader/%.1/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.4" references="/0/CppPackageHeader/%.2">
      <details key="start" value="847"/>
      <details key="end" value="860"/>
      <details key="line" value="17"/>
    </eAnnotations>
    <eAnnotations source="positions.5" references="/0/CppPackageHeader/%.3">
      <details key="start" value="861"/>
      <details key="end" value="876"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.6" references="/0/CppPackageHeader/%.3/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.7" references="/0/CppPackageHeader/%.4">
      <details key="start" value="878"/>
      <details key="end" value="960"/>
      <details key="line" value="18"/>
    </eAnnotations>
    <eAnnotations source="positions.8" references="/0/CppPackageHeader/%.5">
      <details key="start" value="961"/>
      <details key="end" value="965"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.9" references="/0/CppPackageHeader/%.5/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.10" references="/0/CppPackageHeader/%.6">
      <details key="start" value="967"/>
      <details key="end" value="1047"/>
      <details key="line" value="20"/>
    </eAnnotations>
    <eAnnotations source="positions.11" references="/0/CppPackageHeader/%.7">
      <details key="start" value="1048"/>
      <details key="end" value="1098"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.12" references="/0/CppPackageHeader/%.7/%">
      <details key="start" value="1048"/>
      <details key="end" value="1062"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.13" references="/0/CppPackageHeader/%.7/%/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.14" references="/0/CppPackageHeader/%.8">
      <details key="start" value="1100"/>
      <details key="end" value="1275"/>
      <details key="line" value="24"/>
    </eAnnotations>
    <eAnnotations source="positions.15" references="/0/CppPackageHeader/%.9">
      <details key="start" value="1275"/>
      <details key="end" value="1368"/>
      <details key="line" value="37"/>
    </eAnnotations>
    <eAnnotations source="positions.16" references="/0/CppPackageHeader/%.9/%">
      <details key="start" value="1301"/>
      <details key="end" value="1311"/>
      <details key="line" value="38"/>
    </eAnnotations>
    <eAnnotations source="positions.17" references="/0/CppPackageHeader/%.9/%.1">
      <details key="start" value="1312"/>
      <details key="end" value="1325"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.18" references="/0/CppPackageHeader/%.9/%.1/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.19" references="/0/CppPackageHeader/%.9/%.2">
      <details key="start" value="1327"/>
      <details key="end" value="1332"/>
      <details key="line" value="38"/>
    </eAnnotations>
    <eAnnotations source="positions.20" references="/0/CppPackageHeader/%.9/%.3">
      <details key="start" value="1333"/>
      <details key="end" value="1337"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.21" references="/0/CppPackageHeader/%.9/%.3/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.22" references="/0/CppPackageHeader/%.9/%.4">
      <details key="start" value="1339"/>
      <details key="end" value="1340"/>
      <details key="line" value="38"/>
    </eAnnotations>
    <eAnnotations source="positions.23" references="/0/CppPackageHeader/%.9/%.5">
      <details key="start" value="1341"/>
      <details key="end" value="1358"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.24" references="/0/CppPackageHeader/%.9/%.5/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.25" references="/0/CppPackageHeader/%.9/%.6">
      <details key="start" value="1360"/>
      <details key="end" value="1362"/>
      <details key="line" value="38"/>
    </eAnnotations>
    <eAnnotations source="positions.26" references="/0/CppPackageHeader/%.9/%.7">
      <details key="start" value="1281"/>
      <details key="end" value="1298"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.27" references="/0/CppPackageHeader/%.9/%.7/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.28" references="/0/CppPackageHeader/%.10">
      <details key="start" value="1369"/>
      <details key="end" value="1370"/>
      <details key="line" value="40"/>
    </eAnnotations>
    <eAnnotations source="positions.29" references="/0/CppPackageHeader/%.11">
      <details key="start" value="1371"/>
      <details key="end" value="1389"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.30" references="/0/CppPackageHeader/%.11/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.31" references="/0/CppPackageHeader/%.12">
      <details key="start" value="1391"/>
      <details key="end" value="1393"/>
      <details key="line" value="42"/>
    </eAnnotations>
    <eAnnotations source="positions.32" references="/0/CppPackageHeader/%.13">
      <details key="start" value="1394"/>
      <details key="end" value="1402"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.33" references="/0/CppPackageHeader/%.13/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.34" references="/0/CppPackageHeader/%.14">
      <details key="start" value="1404"/>
      <details key="end" value="1405"/>
      <details key="line" value="44"/>
    </eAnnotations>
    <eAnnotations source="positions.35" references="/0/CppPackageHeader/%.15">
      <details key="start" value="1406"/>
      <details key="end" value="1420"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.36" references="/0/CppPackageHeader/%.15/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.37" references="/0/CppPackageHeader/%.16">
      <details key="start" value="1422"/>
      <details key="end" value="1423"/>
      <details key="line" value="45"/>
    </eAnnotations>
    <eAnnotations source="positions.38" references="/0/CppPackageHeader/%.17">
      <details key="start" value="1424"/>
      <details key="end" value="1452"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.39" references="/0/CppPackageHeader/%.17/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.40" references="/0/CppPackageHeader/%.18">
      <details key="start" value="1454"/>
      <details key="end" value="1455"/>
      <details key="line" value="46"/>
    </eAnnotations>
    <eAnnotations source="positions.41" references="/0/CppPackageHeader/%.19">
      <details key="start" value="1456"/>
      <details key="end" value="1465"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.42" references="/0/CppPackageHeader/%.19/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.43" references="/0/CppPackageHeader/%.20">
      <details key="start" value="1467"/>
      <details key="end" value="1556"/>
      <details key="line" value="47"/>
    </eAnnotations>
    <eAnnotations source="positions.44" references="/0/CppPackageHeader/%.21">
      <details key="start" value="1557"/>
      <details key="end" value="1561"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.45" references="/0/CppPackageHeader/%.21/self">
      <details key="start" value="-1"/>
      <details key="end" value="-1"/>
      <details key="line" value="0"/>
    </eAnnotations>
    <eAnnotations source="positions.46" references="/0/CppPackageHeader/%.22">
      <details key="start" value="1563"/>
      <details key="end" value="1649"/>
      <details key="line" value="49"/>
    </eAnnotations>
    <eAnnotations source="positions.47" references="/0/CppPackageHeader/pkg">
      <details key="start" value="801"/>
      <details key="end" value="814"/>
      <details key="line" value="15"/>
    </eAnnotations>
  </ecore:EAnnotation>
</xmi:XMI>

Back to the top