8 #ifndef CPPCMS_BASE_VIEW_H
9 #define CPPCMS_BASE_VIEW_H
11 #include <cppcms/defs.h>
20 #include <booster/hold_ptr.h>
21 #include <cppcms/base_content.h>
22 #include <booster/noncopyable.h>
23 #include <cppcms/config.h>
40 virtual void render();
63 # if __has_feature(cxx_auto_type)
64 # define CPPCMS_HAVE_AUTO_TYPE
66 #elif defined __GNUC__
67 # if (__GNUC__ >= 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 4)) && defined(__GXX_EXPERIMENTAL_CXX0X__)
68 # define CPPCMS_HAVE_AUTO_TYPE
70 #elif defined _MSC_VER
72 # define CPPCMS_HAVE_AUTO_TYPE
74 #elif defined __INTEL_COMPILER
75 # if __INTEL_COMPILER >= 1200 && defined(__GXX_EXPERIMENTAL_CXX0X__)
76 # define CPPCMS_HAVE_AUTO_TYPE
78 #elif defined CPPCMS_HAVE_CPP_0X_AUTO // detected at compilation stage
79 # define CPPCMS_HAVE_AUTO_TYPE
83 #if defined(CPPCMS_HAVE_AUTO_TYPE)
84 # define CPPCMS_TYPEOF(x) auto
85 #elif defined(CPPCMS_HAVE_CPP_0X_DECLTYPE)
86 # define CPPCMS_TYPEOF(x) decltype(x)
87 #elif defined(CPPCMS_HAVE_GCC_TYPEOF)
88 # define CPPCMS_TYPEOF(x) typeof(x)
89 #elif defined(CPPCMS_HAVE_UNDERSCORE_TYPEOF)
90 # define CPPCMS_TYPEOF(x) __typeof__(x)
92 # define CPPCMS_TYPEOF(x) automatic_type_identification_is_not_supported_by_this_compiler
This class is base class for all views (skins) rendered by CppCMS template engine.
Definition: base_view.h:35
This class makes impossible to copy any class derived from this one.
Definition: noncopyable.h:15