21 #include"../../RegistryKey.hpp" 
   22 #include"../SharedMemory.hpp" 
   23 #include"../../EventLog.hpp" 
   84             inline bool operator<(
const PerfCtrDetails &pcd) 
const {
return details<pcd.details || (details==pcd.details && (flags<pcd.flags || (flags==pcd.flags && size<pcd.size)));}
 
   85             inline operator std::string (
void) 
const {
std::stringstream ss;ss << (std::string)details << 
", flags:" << flags << 
", size:"<< size << 
" bytes"; 
return ss.str();};
 
   94          inline operator std::string (
void) 
const {
std::stringstream ss;ss << 
"Performance Object:" << 
std::endl << (
std::string)
object << 
std::endl;
for (std::set< PerfCtrDetails >::const_iterator i(counters.begin());i!=counters.end();++i) {ss << 
"Counter details: " << (std::string)*i << std::endl;};
return ss.str();};
 
  105       typedef std::basic_string
 
  108          std::char_traits< 
char >,
 
  154       class TempPerfINIFile {
 
  156          inline TempPerfINIFile(
const std::string &obj_prefix, 
const std::pair< 
std::string, 
std::string > &lang_details, 
const PerfObjectDetails &perf_obj_details);
 
  157          inline ~TempPerfINIFile(
void);
 
  159          inline const std::string &name(
void) 
const noexcept(
true);
 
  160          static inline std::string make_driver_name(
const std::string &);
 
  163          class TempSymbolFile {
 
  165             inline TempSymbolFile(
const std::string &obj_prefix, 
const std::vector< std::string >::size_type size);
 
  166             inline ~TempSymbolFile(
void);
 
  168             inline const std::string &name(
void) 
const noexcept(
true);
 
  169             inline const std::vector< std::string > &names(
void) 
const noexcept(
true);
 
  172             temp_file<std::fstream<
char> > symbol;
 
  173             std::vector< std::string > object_names;
 
  176             inline TempSymbolFile(
const TempSymbolFile &) 
noexcept(
true);
 
  177             inline TempSymbolFile &operator=(
const TempSymbolFile &) 
noexcept(
true);
 
  180          temp_file<std::fstream<
char> > ini;
 
  181          TempSymbolFile symbol;
 
  184          inline TempPerfINIFile &operator=(
const TempPerfINIFile &) 
noexcept(
true);
 
  188       const std::string driver_name;
 
  189       const std::set< PerfObjectDetails::PerfCtrDetails >::size_type 
num_ctrs;
 
  190       RegistryKey perf_key, perf_perf_key, perf_link_key;
 
  199          PERF_OBJECT_TYPE object_type;
 
  200          PERF_COUNTER_DEFINITION *ctr_defs;
 
  201       } perf_objects_details_type;
 
  202       perf_objects_details_type *perf_objects_details;
 
  205          PERF_COUNTER_BLOCK ctr_block;
 
  207       } perf_ctrs_details_type;
 
  208       perf_ctrs_details_type *perf_ctrs_details;