source: src/Patterns/unittests/stubs/CloneStub.cpp@ 451f17

Last change on this file since 451f17 was 1afcbe, checked in by Frederik Heber <heber@…>, 15 years ago

Added Clone pattern.

  • Clone is necessary for having prototypes, i.e. it defines an interface class that has a virtual * clone() const function that each derived type has to implement.
  • Added unit test.
  • made CommonStub a bit cleaner.
  • updated documentation fo Factory and FactoryTypeList
  • Library version is now 2:2:0, API is 1.0.4.
  • Property mode set to 100644
File size: 893 bytes
Line 
1/*
2 * Project: MoleCuilder
3 * Description: creates and alters molecular systems
4 * Copyright (C) 2010 University of Bonn. All rights reserved.
5 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
6 */
7
8/*
9 * CloneStub.cpp
10 *
11 * Created on: Jan 4, 2011
12 * Author: heber
13 */
14
15// include config.h
16#ifdef HAVE_CONFIG_H
17#include <config.h>
18#endif
19
20#include "CloneStub.hpp"
21
22#include "CommonStub.hpp"
23
24/************ Prototype 1 *******************/
25
26template <>
27IPrototype* Prototype<teststubs::Aclass>::clone() const
28{
29 IPrototype *MyClone = new Prototype<teststubs::Aclass>();
30 MyClone->setcount(getcount());
31 return MyClone;
32}
33
34/************ Prototype 2 *******************/
35
36template <>
37IPrototype* Prototype<teststubs::Bclass>::clone() const
38{
39 IPrototype *MyClone = new Prototype<teststubs::Bclass>();
40 MyClone->setcount(getcount());
41 return MyClone;
42}
Note: See TracBrowser for help on using the repository browser.