-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathworld.h
42 lines (34 loc) · 937 Bytes
/
world.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: World.h
* Author: cyrax
*
* Created on November 29, 2015, 4:42 PM
*/
#ifndef WORLD_H
#define WORLD_H
#include "vehicle_specialisations.h"
#include <cassert>
template <class CarType, class ShipType, class AircraftType>
class World
: CollectionType<CarType>,
CollectionType<ShipType>,
CollectionType<AircraftType>
{
public:
template <class T> void Add(T& vehicle_type)
{
auto post_add = static_cast<CollectionType<T>*>(this)->Add(vehicle_type);
auto default_collection = static_cast<CollectionType<T>*>(this)->GetCollection();
assert(post_add.size() == default_collection.size());
}
~World()
{
}
private:
};
#endif /* WORLD_H */