Jpp  17.3.0-rc.2
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
JAssembler.hh
Go to the documentation of this file.
1 #ifndef __JTOOLS__JASSEMBLER__
2 #define __JTOOLS__JASSEMBLER__
3 
4 #include "JLang/JVoid.hh"
5 
6 /**
7  * \author mdejong
8  */
9 
10 namespace JTOOLS {}
11 namespace JPP { using namespace JTOOLS; }
12 
13 namespace JTOOLS {
14 
15  using JLANG::JVoid;
16 
17 
18  /**
19  * Auxiliary class to check whether given template is a collection,
20  * i.e.\ has a defined type <tt>collection_type</tt>.
21  */
22  template<class T, class JType_t = void>
23  struct JAssembler
24  {
25  static const bool is_collection = false;
26  };
27 
28 
29  /**
30  * Template specialisation of class JAssembler for classes
31  * with a defined type <tt>collection_type</tt>.
32  */
33  template<class T>
34  struct JAssembler<T, typename JVoid<typename T::collection_type>::type>
35  {
36  static const bool is_collection = true;
37  };
38 }
39 
40 #endif
static const bool is_collection
Definition: JAssembler.hh:25
do set_variable OUTPUT_DIRECTORY $WORKDIR T
Auxiliary class for void type definition.
Definition: JVoid.hh:20
Auxiliary class to check whether given template is a collection, i.e. has a defined type collection_t...
Definition: JAssembler.hh:23