VR-Forces 4.3.1 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 <boost/unordered_set.hpp>
15 #include <string>
16 
17 #define FORWARD_DECLARE(T) namespace makVrv {\
18  class T;\
19  typedef std::list<T*> List##T##s; \
20  typedef std::vector<T*> Vector##T##s; \
21  typedef boost::unordered_set<T*> UnorderedSet##T##s; \
22  typedef std::map<std::string, T*> Map##T##s; \
23  typedef std::list<const T*> ConstList##T##s; \
24  typedef std::vector<const T*> ConstVector##T##s; \
25  typedef boost::unordered_set<const T*> ConstUnorderedSet##T##s; \
26  typedef std::map<std::string, const T*> ConstMap##T##s; \
27  } //namespace makVrv
28 
29 #define FORWARD_DECLARE_DIFFERENT_SUFFIX(T,U) namespace makVrv {\
30  class T;\
31  typedef std::list<T*> List##U##s; \
32  typedef std::vector<T*> Vector##U##s; \
33  typedef boost::unordered_set<T*> UnorderedSet##U##s; \
34  typedef std::map<std::string, T*> Map##U##s; \
35  typedef std::list<const T*> ConstList##U##s; \
36  typedef std::vector<const T*> ConstVector##U##s; \
37  typedef boost::unordered_set<const T*> ConstUnorderedSet##U##s; \
38  typedef std::map<std::string, const T*> ConstMap##U##s; \
39  } //namespace makVrv
40 
41 
42 #define FORWARD_DECLARE_ALT_PLURAL(T) namespace makVrv {\
43  class T;\
44  typedef std::list<T*> List##T##es; \
45  typedef std::vector<T*> Vector##T##es; \
46  typedef boost::unordered_set<T*> UnorderedSet##T##es; \
47  typedef std::map<std::string, T*> Map##T##es; \
48  typedef std::list<const T*> ConstList##T##es; \
49  typedef std::vector<const T*> ConstVector##T##es; \
50  typedef boost::unordered_set<const T*> ConstUnorderedSet##T##es; \
51  typedef std::map<std::string, const T*> ConstMap##T##es; \
52  } //namespace makVrv

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)