VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
DtForwardDeclare.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
9 #pragma once
10 
11 #include <list>
12 #include <map>
13 #include <vector>
14 #include <deque>
15 #include <boost/unordered_set.hpp>
16 #include <string>
17 
18 #define FORWARD_DECLARE(T) namespace makVrv {\
19  class T;\
20  typedef std::list<T*> List##T##s; \
21  typedef std::vector<T*> Vector##T##s; \
22  typedef boost::unordered_set<T*> UnorderedSet##T##s; \
23  typedef std::map<std::string, T*> Map##T##s; \
24  typedef std::list<const T*> ConstList##T##s; \
25  typedef std::vector<const T*> ConstVector##T##s; \
26  typedef boost::unordered_set<const T*> ConstUnorderedSet##T##s; \
27  typedef std::map<std::string, const T*> ConstMap##T##s; \
28  } //namespace makVrv
29 
30 #define FORWARD_DECLARE_DIFFERENT_SUFFIX(T,U) namespace makVrv {\
31  class T;\
32  typedef std::list<T*> List##U##s; \
33  typedef std::vector<T*> Vector##U##s; \
34  typedef std::deque<T*> Deque##U##s; \
35  typedef boost::unordered_set<T*> UnorderedSet##U##s; \
36  typedef std::map<std::string, T*> Map##U##s; \
37  typedef std::list<const T*> ConstList##U##s; \
38  typedef std::vector<const T*> ConstVector##U##s; \
39  typedef std::deque<const T*> ConstDeque##U##s; \
40  typedef boost::unordered_set<const T*> ConstUnorderedSet##U##s; \
41  typedef std::map<std::string, const T*> ConstMap##U##s; \
42  } //namespace makVrv
43 
44 
45 #define FORWARD_DECLARE_ALT_PLURAL(T) namespace makVrv {\
46  class T;\
47  typedef std::list<T*> List##T##es; \
48  typedef std::vector<T*> Vector##T##es; \
49  typedef boost::unordered_set<T*> UnorderedSet##T##es; \
50  typedef std::map<std::string, T*> Map##T##es; \
51  typedef std::list<const T*> ConstList##T##es; \
52  typedef std::vector<const T*> ConstVector##T##es; \
53  typedef boost::unordered_set<const T*> ConstUnorderedSet##T##es; \
54  typedef std::map<std::string, const T*> ConstMap##T##es; \
55  } //namespace makVrv

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)