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()28 inline xr_name_gen::xr_name_gen(): m_name(0) {}
29 
xr_name_gen(const char * pattern,bool mimic_gsc)30 inline xr_name_gen::xr_name_gen(const char* pattern, bool mimic_gsc)
31 {
32 	init(pattern, mimic_gsc);
33 }
34 
~xr_name_gen()35 inline xr_name_gen::~xr_name_gen() { delete m_name; }
36 
get()37 inline const char* xr_name_gen::get() const { return m_name; }
38 
39 } // end of namespace xray_re
40 
41 #endif
42