1 #ifndef __GNUC__ 2 #pragma once 3 #endif 4 #ifndef __XR_NAME_GEN_H__ 5 #define __XR_NAME_GEN_H__ 6 7 #include "xr_types.h" 8 9 namespace xray_re { 10 11 class xr_name_gen { 12 public: 13 xr_name_gen(); 14 xr_name_gen(const char* pattern, bool mimic_gsc = true); 15 ~xr_name_gen(); 16 17 void init(const char* pattern, bool mimic_gsc = true); 18 19 const char* get() const; 20 void next(); 21 22 private: 23 char* m_name; 24 int m_next_idx; 25 unsigned m_offset; 26 }; 27 xr_name_gen()28inline xr_name_gen::xr_name_gen(): m_name(0) {} 29 xr_name_gen(const char * pattern,bool mimic_gsc)30inline xr_name_gen::xr_name_gen(const char* pattern, bool mimic_gsc) 31 { 32 init(pattern, mimic_gsc); 33 } 34 ~xr_name_gen()35inline xr_name_gen::~xr_name_gen() { delete m_name; } 36 get()37inline const char* xr_name_gen::get() const { return m_name; } 38 39 } // end of namespace xray_re 40 41 #endif 42