![]() |
HepMC Reference DocumentationHepMC |
00001 #ifndef ENABLE_IF_H 00002 #define ENABLE_IF_H 00003 // author: Walter Brown 00004 00005 // ---------------------------------------------------------------------- 00006 // prolog 00007 00008 namespace HepMC { 00009 namespace detail { 00010 00011 00012 // ---------------------------------------------------------------------- 00013 // enable_if<> 00014 00016 template< bool, class > 00017 struct enable_if 00018 { }; 00019 00021 template< class T > 00022 struct enable_if<true, T> 00023 { 00024 typedef T type; 00025 }; 00026 00027 00028 // ---------------------------------------------------------------------- 00029 // disable_if<> 00030 00032 template< bool, class > 00033 struct disable_if 00034 { }; 00035 00037 template< class T > 00038 struct disable_if<false, T> 00039 { 00040 typedef T type; 00041 }; 00042 00043 00044 // ---------------------------------------------------------------------- 00045 // epilog 00046 00047 } // namespace detail 00048 } // namespace HepMC 00049 00050 #endif // ENABLE_IF_H