├── C++ObjectModel
├── C++ObjectModel
│ ├── ClassDiagram.cd
│ ├── Base.cpp
│ ├── Test.cpp
│ ├── Base_1.cpp
│ ├── Derived_Virtual.cpp
│ ├── Derived_Overrite.cpp
│ ├── Derived_Virtual_Inherit1.cpp
│ ├── Derived_Virtual_Inherit2.cpp
│ ├── Base_1.h
│ ├── Derived.h
│ ├── Derived_Overrite.h
│ ├── Base.h
│ ├── stdafx.cpp
│ ├── targetver.h
│ ├── Derived_Virtual_Inherit2.h
│ ├── Derived.cpp
│ ├── Derived_Virtual_Inherit1.h
│ ├── stdafx.h
│ ├── Derived_Mutlip_Inherit.h
│ ├── Derived_Virtual.h
│ ├── Derived_Mutlip_Inherit.cpp
│ ├── ClassDiagram1.cd
│ ├── type_info.h
│ ├── C++ObjectModel.vcxproj.filters
│ └── C++ObjectModel.vcxproj
├── ModelInterpret
│ ├── Empty.h
│ ├── Empty.cpp
│ ├── Derived_Virtual.h
│ ├── Base.h
│ ├── Derived.h
│ ├── Derived_Virtual.cpp
│ ├── stdafx.cpp
│ ├── targetver.h
│ ├── stdafx.h
│ ├── Base.cpp
│ ├── Derived.cpp
│ ├── ClassDiagram.cd
│ ├── ModelInterpret.cpp
│ ├── ReadMe.txt
│ ├── ModelInterpret.vcxproj.filters
│ └── ModelInterpret.vcxproj
└── C++ObjectModel.sln
├── README.md
├── .gitattributes
└── .gitignore
/C++ObjectModel/C++ObjectModel/ClassDiagram.cd:
--------------------------------------------------------------------------------
1 |
2 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | Cpp Object Model Test Code
2 | ==========================
3 |
4 | C++ Object Data Model Test Code
5 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Base.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Base.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Test.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Test.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Empty.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | class Empty
3 | {
4 | public:
5 | Empty(void);
6 | ~Empty(void);
7 | };
8 |
9 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Base_1.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Base_1.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Virtual.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Derived_Virtual.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Overrite.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Derived_Overrite.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Virtual_Inherit1.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Derived_Virtual_Inherit1.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Virtual_Inherit2.cpp:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/tylerzhu/CppObjectModel/HEAD/C++ObjectModel/C++ObjectModel/Derived_Virtual_Inherit2.cpp
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Empty.cpp:
--------------------------------------------------------------------------------
1 | #include "StdAfx.h"
2 | #include "Empty.h"
3 |
4 |
5 | Empty::Empty(void)
6 | {
7 | }
8 |
9 |
10 | Empty::~Empty(void)
11 | {
12 | }
13 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Base_1.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | using namespace std;
4 |
5 | class Base_1
6 | {
7 | public:
8 | Base_1(int);
9 | virtual ~Base_1(void);
10 | virtual void print(void) const;
11 | protected:
12 | int iBase_1;
13 | };
14 |
15 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Derived_Virtual.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "base.h"
3 | class Derived_Virtual :
4 | virtual public Base
5 | {
6 | public:
7 | Derived_Virtual(void);
8 | ~Derived_Virtual(void);
9 | virtual void print_derived_virtual() const;
10 | };
11 |
12 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "base.h"
3 |
4 | class Derived :
5 | public Base
6 | {
7 | public:
8 | Derived(int);
9 | virtual ~Derived(void);
10 | virtual void derived_print(void);
11 |
12 | protected:
13 | int iDerived;
14 | };
15 |
16 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Base.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | using namespace std;
4 | class Base
5 | {
6 | public:
7 | Base(void);
8 | //~Base(void);
9 | virtual ~Base(void);
10 | void print() const;
11 | virtual void print_virtual() const;
12 | };
13 |
14 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Overrite.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "base.h"
3 | class Derived_Overrite :
4 | public Base
5 | {
6 | public:
7 | Derived_Overrite(int);
8 | virtual ~Derived_Overrite(void);
9 | virtual void print(void) const;
10 |
11 | protected:
12 | int iDerived;
13 | };
14 |
15 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Derived.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | #include "base.h"
4 |
5 | using namespace std;
6 |
7 | class Derived :
8 | public Base
9 | {
10 | public:
11 | Derived(void);
12 | ~Derived(void);
13 | void print() const;
14 | virtual void print_virtual() const;
15 | };
16 |
17 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Derived_Virtual.cpp:
--------------------------------------------------------------------------------
1 | #include "StdAfx.h"
2 | #include "Derived_Virtual.h"
3 |
4 |
5 | Derived_Virtual::Derived_Virtual(void)
6 | {
7 | }
8 |
9 |
10 | Derived_Virtual::~Derived_Virtual(void)
11 | {
12 | }
13 |
14 | void Derived_Virtual::print_derived_virtual() const
15 | {
16 |
17 | }
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Base.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include
3 | using namespace std;
4 | class Base
5 | {
6 | public:
7 | Base(int);
8 | virtual ~Base(void);
9 |
10 | int getIBase() const;
11 | static int instanceCount();
12 | virtual void print() const;
13 |
14 | protected:
15 | int iBase;
16 | static int count;
17 | };
18 |
19 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // C++ObjectModel.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 | // TODO: reference any additional headers you need in STDAFX.H
8 | // and not in this file
9 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/stdafx.cpp:
--------------------------------------------------------------------------------
1 | // stdafx.cpp : source file that includes just the standard includes
2 | // ModelInterpret.pch will be the pre-compiled header
3 | // stdafx.obj will contain the pre-compiled type information
4 |
5 | #include "stdafx.h"
6 |
7 | // TODO: reference any additional headers you need in STDAFX.H
8 | // and not in this file
9 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/targetver.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | // Including SDKDDKVer.h defines the highest available Windows platform.
4 |
5 | // If you wish to build your application for a previous Windows platform, include WinSDKVer.h and
6 | // set the _WIN32_WINNT macro to the platform you wish to support before including SDKDDKVer.h.
7 |
8 | #include
9 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Virtual_Inherit2.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "base.h"
3 | class Derived_Virtual_Inherit2 :
4 | virtual public Base
5 | {
6 | public:
7 | Derived_Virtual_Inherit2(int);
8 | ~Derived_Virtual_Inherit2(void);
9 | virtual void print(void) const;
10 | virtual void inherit2_print(void) const;
11 |
12 | protected:
13 | int iDerived_Virtual_Inherit2;
14 | };
15 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include "Derived.h"
3 |
4 |
5 | Derived::Derived(int i):
6 | Base(0)
7 | {
8 | iDerived = i;
9 | cout<<"Derived::Derived()"<
11 | #include
12 |
13 |
14 |
15 | // TODO: reference additional headers your program requires here
16 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/stdafx.h:
--------------------------------------------------------------------------------
1 | // stdafx.h : include file for standard system include files,
2 | // or project specific include files that are used frequently, but
3 | // are changed infrequently
4 | //
5 |
6 | #pragma once
7 |
8 | #include "targetver.h"
9 |
10 | #include
11 | #include
12 |
13 |
14 |
15 | // TODO: reference additional headers your program requires here
16 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Mutlip_Inherit.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "Base.h"
3 | #include "Base_1.h"
4 | class Derived_Mutlip_Inherit:
5 | public Base, public Base_1
6 | {
7 | public:
8 | Derived_Mutlip_Inherit(int);
9 | virtual ~Derived_Mutlip_Inherit(void);
10 | virtual void print(void) const;
11 | virtual void test_fun(void);
12 | protected:
13 | int iDerived_Mutlip_Inherit;
14 | };
15 |
16 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Base.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include "Base.h"
3 |
4 |
5 | Base::Base(void)
6 | {
7 | cout << "Base::Base()" << endl;
8 | }
9 |
10 |
11 | Base::~Base(void)
12 | {
13 | cout << "Base::~Base()" << endl;
14 | }
15 |
16 | void Base::print() const
17 | {
18 | cout << "Base::print()" << endl;
19 | }
20 |
21 | void Base::print_virtual() const
22 | {
23 | cout << "Base::print_virtual()" << endl;
24 | }
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/Derived.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include "Derived.h"
3 |
4 |
5 | Derived::Derived(void)
6 | {
7 | cout << "Derived::Derived()" << endl;
8 | }
9 |
10 |
11 | Derived::~Derived(void)
12 | {
13 | cout << "Derived::~Derived()" << endl;
14 | }
15 |
16 | void Derived::print() const
17 | {
18 | cout << "Derived::print()" << endl;
19 | }
20 |
21 | void Derived::print_virtual() const
22 | {
23 | cout << "Derived::print_virtual()" << endl;
24 | }
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Virtual.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 | #include "derived_virtual_inherit1.h"
3 | #include "derived_virtual_inherit2.h"
4 |
5 | class Derived_Virtual :
6 | public Derived_Virtual_Inherit1, public Derived_Virtual_Inherit2
7 | {
8 | public:
9 | Derived_Virtual(int);
10 | ~Derived_Virtual(void);
11 | virtual void print(void) const;
12 | virtual void inherit1_print(void) const;
13 | virtual void derived_print(void) const;
14 | protected:
15 | int iDerived_Virtual;
16 | };
17 |
18 |
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/Derived_Mutlip_Inherit.cpp:
--------------------------------------------------------------------------------
1 | #include "stdafx.h"
2 | #include "Derived_Mutlip_Inherit.h"
3 |
4 | Derived_Mutlip_Inherit::Derived_Mutlip_Inherit(int i): Base(0), Base_1(1)
5 | {
6 | iDerived_Mutlip_Inherit = i;
7 | cout << "Derived_Multip_Inherit::Derived_Multip_Inherit()" << endl;
8 | }
9 |
10 | Derived_Mutlip_Inherit::~Derived_Mutlip_Inherit(void)
11 | {
12 | cout << "Derived_Multip_Inherit::~Derived_Multip_Inherit()" << endl;
13 | }
14 |
15 | void Derived_Mutlip_Inherit::print() const
16 | {
17 | cout << "Derived_Multip_Inherit::print()" << endl;
18 | }
19 |
20 | void Derived_Mutlip_Inherit::test_fun()
21 | {
22 | cout << "Derived_Multip_Inherit::test_fun()" << endl;
23 | }
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/ClassDiagram.cd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEABAAAAQAA=
7 | Base.h
8 |
9 |
10 |
11 |
12 |
13 | AAQAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAAAAAAA=
14 | Derived.h
15 |
16 |
17 |
18 |
19 |
20 | QEAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAA=
21 | Derived_Virtual.h
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/ModelInterpret.cpp:
--------------------------------------------------------------------------------
1 | // ModelInterpret.cpp : Defines the entry point for the console application.
2 | //
3 |
4 | #include "stdafx.h"
5 | #include "Base.h"
6 | #include "Derived.h"
7 | #include "Derived_Virtual.h"
8 | #include "Empty.h"
9 |
10 | //#include "
11 | void test_size();
12 | void test_polmorphisn();
13 | void test_vitual_destructor();
14 |
15 | int _tmain(int argc, _TCHAR* argv[])
16 | {
17 | test_size();
18 | //test_polmorphisn();
19 | //test_vitual_destructor();
20 | system("pause");
21 | return 0;
22 | }
23 |
24 | void test_size()
25 | {
26 | Base b;
27 | Derived d;
28 | Derived_Virtual dv;
29 | cout << "sizeof(b):\t" << sizeof(b) << endl;
30 | cout << "sizeof(d):\t" << sizeof(d) << endl;
31 | cout << "sizeof(dv):\t" << sizeof(dv) << endl;
32 |
33 | Empty e;
34 | cout << "sizeof(e):\t" << sizeof(e) << endl;
35 | }
36 |
37 | void test_polmorphisn()
38 | {
39 | Base b;
40 | Derived d;
41 |
42 | b = d;
43 | b.print();
44 | b.print_virtual();
45 |
46 | Base *p;
47 | p = &d;
48 | p->print();
49 | p->print_virtual();
50 | }
51 |
52 | void test_vitual_destructor()
53 | {
54 | Base *p = new Derived();
55 | delete p;
56 | }
57 |
58 |
59 |
60 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/ClassDiagram1.cd:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | AAQAAAAAAAAgAAAABAAAQAAAAAAAAAAAAECAAAAAQAA=
7 | Base.h
8 |
9 |
10 |
11 |
12 |
13 | AAQAAAAAAAAAAIAAAAAAAQAAIAAEAAAAAAAAAAAAAAA=
14 | Derived_Virtual_Inherit1.h
15 |
16 |
17 |
18 |
19 |
20 | AAQAAAAAAAAAAAAAAAAAAQAABIAAAAAAEAAAAAAAAAA=
21 | Derived_Virtual_Inherit2.h
22 |
23 |
24 |
25 |
26 |
27 | AEQACAAAAAAABIAAAEAAAAAAAAAAAAAAAAAAAAAAAAA=
28 | Derived_Virtual.h
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/type_info.h:
--------------------------------------------------------------------------------
1 | #pragma once
2 |
3 | typedef unsigned long DWORD;
4 | struct TypeDescriptor
5 | {
6 | DWORD ptrToVTable;
7 | DWORD spare;
8 | char name[8];
9 | };
10 | struct PMD
11 | {
12 | int mdisp; //member displacement
13 | int pdisp; //vbtable displacement
14 | int vdisp; //displacement inside vbtable
15 | };
16 | struct RTTIBaseClassDescriptor
17 | {
18 | struct TypeDescriptor* pTypeDescriptor; //type descriptor of the class
19 | DWORD numContainedBases; //number of nested classes following in the Base Class Array
20 | struct PMD where; //pointer-to-member displacement info
21 | DWORD attributes; //flags, usually 0
22 | };
23 |
24 | struct RTTIClassHierarchyDescriptor
25 | {
26 | DWORD signature; //always zero?
27 | DWORD attributes; //bit 0 set = multiple inheritance, bit 1 set = virtual inheritance
28 | DWORD numBaseClasses; //number of classes in pBaseClassArray
29 | struct RTTIBaseClassArray* pBaseClassArray;
30 | };
31 |
32 | struct RTTICompleteObjectLocator
33 | {
34 | DWORD signature; //always zero ?
35 | DWORD offset; //offset of this vtable in the complete class
36 | DWORD cdOffset; //constructor displacement offset
37 | struct TypeDescriptor* pTypeDescriptor; //TypeDescriptor of the complete class
38 | struct RTTIClassHierarchyDescriptor* pClassDescriptor; //describes inheritance hierarchy
39 | };
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 2012
4 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "C++ObjectModel", "C++ObjectModel\C++ObjectModel.vcxproj", "{144AAB11-D638-49D7-9F2D-FF4BF7E12616}"
5 | EndProject
6 | Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ModelInterpret", "ModelInterpret\ModelInterpret.vcxproj", "{C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Win32 = Debug|Win32
11 | Release|Win32 = Release|Win32
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {144AAB11-D638-49D7-9F2D-FF4BF7E12616}.Debug|Win32.ActiveCfg = Debug|Win32
15 | {144AAB11-D638-49D7-9F2D-FF4BF7E12616}.Debug|Win32.Build.0 = Debug|Win32
16 | {144AAB11-D638-49D7-9F2D-FF4BF7E12616}.Release|Win32.ActiveCfg = Release|Win32
17 | {144AAB11-D638-49D7-9F2D-FF4BF7E12616}.Release|Win32.Build.0 = Release|Win32
18 | {C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}.Debug|Win32.ActiveCfg = Debug|Win32
19 | {C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}.Debug|Win32.Build.0 = Debug|Win32
20 | {C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}.Release|Win32.ActiveCfg = Release|Win32
21 | {C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}.Release|Win32.Build.0 = Release|Win32
22 | EndGlobalSection
23 | GlobalSection(SolutionProperties) = preSolution
24 | HideSolutionNode = FALSE
25 | EndGlobalSection
26 | EndGlobal
27 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/ReadMe.txt:
--------------------------------------------------------------------------------
1 | ========================================================================
2 | CONSOLE APPLICATION : ModelInterpret Project Overview
3 | ========================================================================
4 |
5 | AppWizard has created this ModelInterpret application for you.
6 |
7 | This file contains a summary of what you will find in each of the files that
8 | make up your ModelInterpret application.
9 |
10 |
11 | ModelInterpret.vcxproj
12 | This is the main project file for VC++ projects generated using an Application Wizard.
13 | It contains information about the version of Visual C++ that generated the file, and
14 | information about the platforms, configurations, and project features selected with the
15 | Application Wizard.
16 |
17 | ModelInterpret.vcxproj.filters
18 | This is the filters file for VC++ projects generated using an Application Wizard.
19 | It contains information about the association between the files in your project
20 | and the filters. This association is used in the IDE to show grouping of files with
21 | similar extensions under a specific node (for e.g. ".cpp" files are associated with the
22 | "Source Files" filter).
23 |
24 | ModelInterpret.cpp
25 | This is the main application source file.
26 |
27 | /////////////////////////////////////////////////////////////////////////////
28 | Other standard files:
29 |
30 | StdAfx.h, StdAfx.cpp
31 | These files are used to build a precompiled header (PCH) file
32 | named ModelInterpret.pch and a precompiled types file named StdAfx.obj.
33 |
34 | /////////////////////////////////////////////////////////////////////////////
35 | Other notes:
36 |
37 | AppWizard uses "TODO:" comments to indicate parts of the source code you
38 | should add to or customize.
39 |
40 | /////////////////////////////////////////////////////////////////////////////
41 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/ModelInterpret.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 | Header Files
29 |
30 |
31 | Header Files
32 |
33 |
34 | Header Files
35 |
36 |
37 | Header Files
38 |
39 |
40 |
41 |
42 | Source Files
43 |
44 |
45 | Source Files
46 |
47 |
48 | Source Files
49 |
50 |
51 | Source Files
52 |
53 |
54 | Source Files
55 |
56 |
57 | Source Files
58 |
59 |
60 |
61 |
62 |
63 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/C++ObjectModel.vcxproj.filters:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | {4FC737F1-C7A5-4376-A066-2A32D752A2FF}
6 | cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx
7 |
8 |
9 | {93995380-89BD-4b04-88EB-625FBE52EBFB}
10 | h;hpp;hxx;hm;inl;inc;xsd
11 |
12 |
13 | {67DA6AB6-F800-4c08-8B7A-83BB121AAD01}
14 | rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 | Header Files
23 |
24 |
25 | Header Files
26 |
27 |
28 | Header Files
29 |
30 |
31 | Header Files
32 |
33 |
34 | Header Files
35 |
36 |
37 | Header Files
38 |
39 |
40 | Header Files
41 |
42 |
43 | Header Files
44 |
45 |
46 | Header Files
47 |
48 |
49 | Header Files
50 |
51 |
52 | Header Files
53 |
54 |
55 |
56 |
57 | Source Files
58 |
59 |
60 | Source Files
61 |
62 |
63 | Source Files
64 |
65 |
66 | Source Files
67 |
68 |
69 | Source Files
70 |
71 |
72 | Source Files
73 |
74 |
75 | Source Files
76 |
77 |
78 | Source Files
79 |
80 |
81 | Source Files
82 |
83 |
84 | Source Files
85 |
86 |
87 |
88 |
89 |
90 |
91 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | #################
2 | ## Eclipse
3 | #################
4 |
5 | *.pydevproject
6 | .project
7 | .metadata
8 | bin/
9 | tmp/
10 | *.tmp
11 | *.bak
12 | *.swp
13 | *~.nib
14 | local.properties
15 | .classpath
16 | .settings/
17 | .loadpath
18 |
19 | # External tool builders
20 | .externalToolBuilders/
21 |
22 | # Locally stored "Eclipse launch configurations"
23 | *.launch
24 |
25 | # CDT-specific
26 | .cproject
27 |
28 | # PDT-specific
29 | .buildpath
30 |
31 |
32 | #################
33 | ## Visual Studio
34 | #################
35 |
36 | ## Ignore Visual Studio temporary files, build results, and
37 | ## files generated by popular Visual Studio add-ons.
38 |
39 | # User-specific files
40 | *.suo
41 | *.user
42 | *.sln.docstates
43 |
44 | # Build results
45 |
46 | [Dd]ebug/
47 | [Rr]elease/
48 | x64/
49 | build/
50 | [Bb]in/
51 | [Oo]bj/
52 |
53 | # MSTest test Results
54 | [Tt]est[Rr]esult*/
55 | [Bb]uild[Ll]og.*
56 |
57 | *_i.c
58 | *_p.c
59 | *.ilk
60 | *.meta
61 | *.obj
62 | *.pch
63 | *.pdb
64 | *.pgc
65 | *.pgd
66 | *.rsp
67 | *.sbr
68 | *.tlb
69 | *.tli
70 | *.tlh
71 | *.tmp
72 | *.tmp_proj
73 | *.log
74 | *.vspscc
75 | *.vssscc
76 | .builds
77 | *.pidb
78 | *.log
79 | *.scc
80 |
81 | # Visual C++ cache files
82 | ipch/
83 | *.aps
84 | *.ncb
85 | *.opensdf
86 | *.sdf
87 | *.cachefile
88 |
89 | # Visual Studio profiler
90 | *.psess
91 | *.vsp
92 | *.vspx
93 |
94 | # Guidance Automation Toolkit
95 | *.gpState
96 |
97 | # ReSharper is a .NET coding add-in
98 | _ReSharper*/
99 | *.[Rr]e[Ss]harper
100 |
101 | # TeamCity is a build add-in
102 | _TeamCity*
103 |
104 | # DotCover is a Code Coverage Tool
105 | *.dotCover
106 |
107 | # NCrunch
108 | *.ncrunch*
109 | .*crunch*.local.xml
110 |
111 | # Installshield output folder
112 | [Ee]xpress/
113 |
114 | # DocProject is a documentation generator add-in
115 | DocProject/buildhelp/
116 | DocProject/Help/*.HxT
117 | DocProject/Help/*.HxC
118 | DocProject/Help/*.hhc
119 | DocProject/Help/*.hhk
120 | DocProject/Help/*.hhp
121 | DocProject/Help/Html2
122 | DocProject/Help/html
123 |
124 | # Click-Once directory
125 | publish/
126 |
127 | # Publish Web Output
128 | *.Publish.xml
129 | *.pubxml
130 |
131 | # NuGet Packages Directory
132 | ## TODO: If you have NuGet Package Restore enabled, uncomment the next line
133 | #packages/
134 |
135 | # Windows Azure Build Output
136 | csx
137 | *.build.csdef
138 |
139 | # Windows Store app package directory
140 | AppPackages/
141 |
142 | # Others
143 | sql/
144 | *.Cache
145 | ClientBin/
146 | [Ss]tyle[Cc]op.*
147 | ~$*
148 | *~
149 | *.dbmdl
150 | *.[Pp]ublish.xml
151 | *.pfx
152 | *.publishsettings
153 |
154 | # RIA/Silverlight projects
155 | Generated_Code/
156 |
157 | # Backup & report files from converting an old project file to a newer
158 | # Visual Studio version. Backup files are not needed, because we have git ;-)
159 | _UpgradeReport_Files/
160 | Backup*/
161 | UpgradeLog*.XML
162 | UpgradeLog*.htm
163 |
164 | # SQL Server files
165 | App_Data/*.mdf
166 | App_Data/*.ldf
167 |
168 | #############
169 | ## Windows detritus
170 | #############
171 |
172 | # Windows image file caches
173 | Thumbs.db
174 | ehthumbs.db
175 |
176 | # Folder config file
177 | Desktop.ini
178 |
179 | # Recycle Bin used on file shares
180 | $RECYCLE.BIN/
181 |
182 | # Mac crap
183 | .DS_Store
184 |
185 |
186 | #############
187 | ## Python
188 | #############
189 |
190 | *.py[co]
191 |
192 | # Packages
193 | *.egg
194 | *.egg-info
195 | dist/
196 | build/
197 | eggs/
198 | parts/
199 | var/
200 | sdist/
201 | develop-eggs/
202 | .installed.cfg
203 |
204 | # Installer logs
205 | pip-log.txt
206 |
207 | # Unit test / coverage reports
208 | .coverage
209 | .tox
210 |
211 | #Translations
212 | *.mo
213 |
214 | #Mr Developer
215 | .mr.developer.cfg
216 |
--------------------------------------------------------------------------------
/C++ObjectModel/ModelInterpret/ModelInterpret.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {C4DEFAB6-9FA8-4EB1-AE33-B0F6EF86C4E0}
15 | Win32Proj
16 | ModelInterpret
17 |
18 |
19 |
20 | Application
21 | true
22 | v100
23 | Unicode
24 |
25 |
26 | Application
27 | false
28 | v110
29 | true
30 | Unicode
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | true
44 |
45 |
46 | false
47 |
48 |
49 |
50 | Use
51 | Level3
52 | Disabled
53 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
54 | true
55 | %(AdditionalIncludeDirectories)
56 |
57 |
58 | Console
59 | true
60 | %(AdditionalLibraryDirectories)
61 |
62 |
63 |
64 |
65 | Level3
66 | Use
67 | MaxSpeed
68 | true
69 | true
70 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
71 | true
72 |
73 |
74 | Console
75 | true
76 | true
77 | true
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 | Create
99 | Create
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
--------------------------------------------------------------------------------
/C++ObjectModel/C++ObjectModel/C++ObjectModel.vcxproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Debug
6 | Win32
7 |
8 |
9 | Release
10 | Win32
11 |
12 |
13 |
14 | {144AAB11-D638-49D7-9F2D-FF4BF7E12616}
15 | Win32Proj
16 | CObjectModel
17 |
18 |
19 |
20 | Application
21 | true
22 | v110
23 | Unicode
24 |
25 |
26 | Application
27 | false
28 | v110
29 | true
30 | Unicode
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 | true
44 |
45 |
46 | false
47 |
48 |
49 |
50 | Use
51 | Level3
52 | Disabled
53 | WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions)
54 | true
55 |
56 |
57 |
58 |
59 | Console
60 | true
61 |
62 |
63 |
64 |
65 | Level3
66 | Use
67 | MaxSpeed
68 | true
69 | true
70 | WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions)
71 | true
72 |
73 |
74 | Console
75 | true
76 | true
77 | true
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
94 |
95 |
96 |
97 |
98 |
99 |
100 |
101 |
102 |
103 |
104 |
105 |
106 |
107 | Create
108 | Create
109 |
110 |
111 |
112 |
113 |
114 |
115 |
116 |
117 |
118 |
--------------------------------------------------------------------------------