641acc2bde4ca8fe807fea577d3c2a20a67849b6
This change moves the EdgeComponent system to Token and redefines them as TokenComponents. * Performance tests on the side showed that using typeid() in getComponent() is faster than dynamically casting every pointer. * The hasComponent() method was deliberately left out in the implementation, because it used to look up the right component and discard it again. This check for presence can also be achieved by just using getComponent(). * The method addComponent() is protected in Token, so that Node and Edge can guard which Component is set on which type by implementing specific setters for each Component. * The GraphTestSuite was extended to include tests for the Component implementation (and missing tests for locationIds in Token and copying of Node and Edge were added).
Masterproject
Setup
External Software
- QT 5.2.1
- CxxTest 4.3
- Valgrind 3.9.0(linux, macOS)
- Clang & LLVM (installation guide http://clang.llvm.org/docs/LibASTMatchersTutorial.html)
- Boost 1.55 ()
Environment Variables
- QT_DIR - ...\Qt\Qt5.2.1\5.2.1<IDE>\
- CXX_TEST_DIR - .../cxxtest-4.3/
- CLANG_DIR - .../clang-llvm/
- BOOST_155_DIR - .../boost_1_55_0
For Win32:
- VLD_DIR - .../Visual Leak Detector
Settings
Run setup script: $ ./script/setup.sh
Languages
C++
63.4%
Java
32.7%
CMake
1.6%
Shell
1.1%
CSS
0.6%
Other
0.4%