11 #ifndef __PCP_CPP_CONFIG_HPP__ 12 #define __PCP_CPP_CONFIG_HPP__ 33 #ifndef PCP_CPP_NO_BOOST 34 # include <boost/date_time/posix_time/posix_time_duration.hpp> 35 # include <boost/program_options.hpp> 37 # if BOOST_VERSION > 103500 38 # define PCP_CPP_BOOST_PO_IMPLICIT_VALUE(...) ->implicit_value(__VA_ARGS__) 40 # define PCP_CPP_BOOST_PO_IMPLICIT_VALUE(...) 43 # if BOOST_VERSION > 105000 44 # define PCP_CPP_BOOST_PO_VALUE_NAME(name) ->value_name(name) 46 # define PCP_CPP_BOOST_PO_VALUE_NAME(name) 50 #include <pcp/pmapi.h> 55 #ifndef PCP_CPP_PMDA_INTERFACE_VERSION 56 #define PCP_CPP_PMDA_INTERFACE_VERSION PMDA_INTERFACE_LATEST 60 #ifdef PCP_CPP_NAMESPACE 61 # define PCP_CPP_BEGIN_NAMESPACE namespace PCP_CPP_NAMESPACE { 62 # define PCP_CPP_END_NAMESPACE } 64 # define PCP_CPP_BEGIN_NAMESPACE 65 # define PCP_CPP_END_NAMESPACE 68 PCP_CPP_BEGIN_NAMESPACE
76 template<
typename Type>
79 const char *
const str = pmGetConfig(
"PCP_VERSION");
80 const char *
const pos[2] = { strchr(str,
'.'), strrchr(str,
'.') };
81 return (pos[0] == pos[1]) ? 0 :
82 (strtoul(str, NULL, 10) << 16) +
83 (strtoul(pos[0]+1, NULL, 10) << 8) +
84 strtoul(pos[1]+1, NULL, 10);
94 return pmGetConfig(
"PCP_VERSION");
106 #define PCP_CPP_UNUSED(name) (void)name;
Type get_pcp_runtime_version()
Get the PCP runtime version as a numeric value.