Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/pointer

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/pointer (Version 11.3.0) and /externals/g4tools/include/tools/pointer (Version 11.0.p4)


  1 // Copyright (C) 2010, Guy Barrand. All rights      1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
  2 // See the file tools.license for terms.            2 // See the file tools.license for terms.
  3                                                     3 
  4 #ifndef tools_pointer                               4 #ifndef tools_pointer
  5 #define tools_pointer                               5 #define tools_pointer
  6                                                     6 
  7 //WARNING : touchy.                                 7 //WARNING : touchy.
  8 //WARNING : _MSC_VER && _WIN64 : sizeof(void*)      8 //WARNING : _MSC_VER && _WIN64 : sizeof(void*) is NOT sizeof(unsigned long).
  9                                                     9 
 10 #include "typedefs"                                10 #include "typedefs"
 11                                                    11 
 12 #include "snpf"                                    12 #include "snpf"
 13                                                    13 
 14 #include <string>                                  14 #include <string>
 15                                                    15 
 16 namespace tools {                                  16 namespace tools {
 17                                                    17 
 18 inline bool to_pointer(const std::string& a_st     18 inline bool to_pointer(const std::string& a_string,void*& a_value){
 19   upointer v = 0;                                  19   upointer v = 0;
 20   if(::sscanf(a_string.c_str(),upointer_format     20   if(::sscanf(a_string.c_str(),upointer_format_x(),&v)!=1) {
 21     if(::sscanf(a_string.c_str(),upointer_form     21     if(::sscanf(a_string.c_str(),upointer_format(),&v)!=1) {
 22       a_value = 0;                                 22       a_value = 0;
 23       return false;                                23       return false;
 24     }                                              24     }
 25   }                                                25   }
 26   a_value = (void*)v;                              26   a_value = (void*)v;
 27   return true;                                     27   return true;
 28 }                                                  28 }
 29                                                    29 
 30 inline bool to_pointer(const char* a_string,vo     30 inline bool to_pointer(const char* a_string,void*& a_value){
 31   upointer v = 0;                                  31   upointer v = 0;
 32   if(::sscanf(a_string,upointer_format_x(),&v)     32   if(::sscanf(a_string,upointer_format_x(),&v)!=1) {
 33     if(::sscanf(a_string,upointer_format(),&v)     33     if(::sscanf(a_string,upointer_format(),&v)!=1) {
 34       a_value = 0;                                 34       a_value = 0;
 35       return false;                                35       return false;
 36     }                                              36     }
 37   }                                                37   }
 38   a_value = (void*)v;                              38   a_value = (void*)v;
 39   return true;                                     39   return true;
 40 }                                                  40 }
 41                                                    41 
 42 inline bool p2s(const void* a_value,std::strin     42 inline bool p2s(const void* a_value,std::string& a_s){
 43   char _s[512];                                <<  43   char s[512];
 44   snpf(_s,sizeof(_s),upointer_format(),(upoint <<  44   snpf(s,sizeof(s),upointer_format(),(upointer)a_value);
 45   a_s = _s;                                    <<  45   a_s = s;
 46   return true;                                     46   return true;
 47 }                                                  47 }
 48                                                    48 
 49 inline bool p2sx(const void* a_value,std::stri     49 inline bool p2sx(const void* a_value,std::string& a_s){
 50   char _s[512];                                <<  50   char s[512];
 51   snpf(_s,sizeof(_s),upointer_format_x(),(upoi <<  51   snpf(s,sizeof(s),upointer_format_x(),(upointer)a_value);
 52   a_s = _s;                                    <<  52   a_s = s;
 53   return true;                                     53   return true;
 54 }                                                  54 }
 55                                                    55 
 56 /*                                                 56 /*
 57 inline std::string p2s(const void* a_value){       57 inline std::string p2s(const void* a_value){
 58   char _s[512];                                <<  58   char s[512];
 59   snpf(_s,sizeof(_s),"%lu",(unsigned long)a_va <<  59   snpf(s,sizeof(s),"%lu",(unsigned long)a_value);
 60   return _s;                                   <<  60   return s;
 61 }                                                  61 }
 62                                                    62 
 63 inline std::string p2sx(const void* a_value){      63 inline std::string p2sx(const void* a_value){
 64   char _s[512];                                <<  64   char s[512];
 65   snpf(_s,sizeof(_s),"0x%lx",(unsigned long)a_ <<  65   snpf(s,sizeof(s),"0x%lx",(unsigned long)a_value);
 66   return _s;                                   <<  66   return s;
 67 }                                                  67 }
 68                                                    68 
 69 inline std::string char_p2s(const char* a_valu     69 inline std::string char_p2s(const char* a_value) {
 70   char _s[512];                                <<  70   char s[512];
 71   snpf(_s,sizeof(_s),"%lu",(unsigned long)a_va <<  71   snpf(s,sizeof(s),"%lu",(unsigned long)a_value);
 72   return std::string(_s);                      <<  72   return std::string(s);
 73 }                                                  73 }
 74                                                    74 
 75 inline std::string long2s(const long a_value)      75 inline std::string long2s(const long a_value) {
 76   char _s[512];                                <<  76   char s[512];
 77   snpf(_s,sizeof(_s),"%ld",a_value);           <<  77   snpf(s,sizeof(s),"%ld",a_value);
 78   return std::string(_s);                      <<  78   return std::string(s);
 79 }                                                  79 }
 80 */                                                 80 */
 81                                                    81 
 82 }                                                  82 }
 83                                                    83 
 84 #endif                                             84 #endif