Default.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00029 #ifndef KEYVALUE_KEY_MAP_DEFAULT_H_
00030 #define KEYVALUE_KEY_MAP_DEFAULT_H_
00031
00032 #include "keyvalue/key/map/NoMap.h"
00033 #include "keyvalue/key/map/ObjectMap.h"
00034 #include "keyvalue/util/IsBasic.h"
00035
00036 namespace keyvalue {
00037 namespace key {
00038
00056 #if DOXYGEN
00057 template <typename OutputType,
00058 bool isBasic = util::IsBasic<OutputType>::value_>
00059 struct DefaultMap {};
00060 #endif
00061
00062 template <typename OutputType,
00063 bool isBasic = util::IsBasic<OutputType>::value_>
00064 struct DefaultMap;
00065
00066 template <typename OutputType>
00067 struct DefaultMap<OutputType, true> {
00068 typedef NoMap<OutputType> MapType_;
00069 };
00070
00071 template <typename OutputType>
00072 struct DefaultMap<OutputType, false> {
00073 typedef ObjectMap<OutputType> MapType_;
00074 };
00075
00088 template <typename OutputType>
00089 struct Default : public DefaultMap<OutputType>::MapType_ {
00090 };
00091
00092 }
00093 }
00094
00095 #endif // KEYVALUE_KEY_MAP_DEFAULT_H_