Fix indexing and use _ identifiers to please the compiler
Co-authored-by: sigonasr2 <sigonasr2@gmail.com>
This commit is contained in:
		
							parent
							
								
									11aa50105c
								
							
						
					
					
						commit
						68393d2b07
					
				| @ -42,11 +42,12 @@ Crawler::Crawler() | ||||
| 
 | ||||
| 	utils::datafile::Read(DATA,"assets/config/configuration.txt"); | ||||
| 
 | ||||
| 	std::string CONFIG_PATH = "config_path"S; | ||||
| 	std::string CONFIG_PATH = "config_path"_S; | ||||
| 
 | ||||
| 	std::string GFX_CONFIG = CONFIG_PATH + "gfx_config"S; | ||||
| 	std::string GFX_CONFIG = CONFIG_PATH + "gfx_config"_S; | ||||
| 	utils::datafile::Read(DATA,GFX_CONFIG); | ||||
| 	WINDOW_SIZE={"WINDOW_SIZE"i[0],"WINDOW_SIZE"i[1]}; | ||||
| 	WINDOW_SIZE={"WINDOW_SIZE"_i[0],"WINDOW_SIZE"_i[1]}; | ||||
| 	std::cout<<WINDOW_SIZE<<std::endl; | ||||
| } | ||||
| 
 | ||||
| bool Crawler::OnUserCreate(){ | ||||
| @ -1138,34 +1139,34 @@ int main() | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| datafilestringdata operator ""s(const char*key,std::size_t len){ | ||||
| datafilestringdata operator ""_s(const char*key,std::size_t len){ | ||||
| 	return {DATA,std::string(key,len)}; | ||||
| } | ||||
| 
 | ||||
| datafileintdata operator ""i(const char*key,std::size_t len){ | ||||
| datafileintdata operator ""_i(const char*key,std::size_t len){ | ||||
| 	return {DATA,std::string(key,len)}; | ||||
| } | ||||
| 
 | ||||
| datafilefloatdata operator ""f(const char*key,std::size_t len){ | ||||
| datafilefloatdata operator ""_f(const char*key,std::size_t len){ | ||||
| 	return {DATA,std::string(key,len)}; | ||||
| } | ||||
| 
 | ||||
| datafiledoubledata operator ""d(const char*key,std::size_t len){ | ||||
| datafiledoubledata operator ""_d(const char*key,std::size_t len){ | ||||
| 	return {DATA,std::string(key,len)}; | ||||
| } | ||||
| 
 | ||||
| std::string operator ""S(const char*key,std::size_t len){ | ||||
| std::string operator ""_S(const char*key,std::size_t len){ | ||||
| 	return DATA.GetProperty(std::string(key,len)).GetString(); | ||||
| } | ||||
| 
 | ||||
| int operator ""I(const char*key,std::size_t len){ | ||||
| int operator ""_I(const char*key,std::size_t len){ | ||||
| 	return DATA.GetProperty(std::string(key,len)).GetInt(); | ||||
| } | ||||
| 
 | ||||
| float operator ""F(const char*key,std::size_t len){ | ||||
| float operator ""_F(const char*key,std::size_t len){ | ||||
| 	return DATA.GetProperty(std::string(key,len)).GetReal(); | ||||
| } | ||||
| 
 | ||||
| double operator ""D(const char*key,std::size_t len){ | ||||
| double operator ""_D(const char*key,std::size_t len){ | ||||
| 	return DATA.GetProperty(std::string(key,len)).GetReal(); | ||||
| } | ||||
| @ -110,18 +110,18 @@ public: | ||||
| }; | ||||
| 
 | ||||
| //Read a string array from the config.
 | ||||
| datafilestringdata operator ""s(const char*key,std::size_t len); | ||||
| datafilestringdata operator ""_s(const char*key,std::size_t len); | ||||
| //Read an int array from the config.
 | ||||
| datafileintdata operator ""i(const char*key,std::size_t len); | ||||
| datafileintdata operator ""_i(const char*key,std::size_t len); | ||||
| //Read a float array from the config.
 | ||||
| datafilefloatdata operator ""f(const char*key,std::size_t len); | ||||
| datafilefloatdata operator ""_f(const char*key,std::size_t len); | ||||
| //Read a double array from the config.
 | ||||
| datafiledoubledata operator ""d(const char*key,std::size_t len); | ||||
| datafiledoubledata operator ""_d(const char*key,std::size_t len); | ||||
| //Read a string key from the config.
 | ||||
| std::string operator ""S(const char*key,std::size_t len); | ||||
| std::string operator ""_S(const char*key,std::size_t len); | ||||
| //Read an integer key from the config.
 | ||||
| int operator ""I(const char*key,std::size_t len); | ||||
| int operator ""_I(const char*key,std::size_t len); | ||||
| //Read a float key from the config.
 | ||||
| float operator ""F(const char*key,std::size_t len); | ||||
| float operator ""_F(const char*key,std::size_t len); | ||||
| //Read a double key from the config.
 | ||||
| double operator ""D(const char*key,std::size_t len); | ||||
| double operator ""_D(const char*key,std::size_t len); | ||||
| @ -64,42 +64,6 @@ David Barr, aka javidx9, <20>OneLoneCoder 2019, 2020, 2021, 2022 | ||||
| 
 | ||||
| namespace olc::utils | ||||
| { | ||||
| 	class datafilestringdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafilestringdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		std::string operator[](int index){data.get().GetIndexedProperty(key,index).GetString();}; | ||||
| 	}; | ||||
| 	class datafileintdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafileintdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		int operator[](int index){data.get().GetIndexedProperty(key,index).GetInt();}; | ||||
| 	}; | ||||
| 	class datafilefloatdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafilefloatdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		float operator[](int index){data.get().GetIndexedProperty(key,index).GetReal();}; | ||||
| 	}; | ||||
| 	class datafiledoubledata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafiledoubledata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		double operator[](int index){data.get().GetIndexedProperty(key,index).GetReal();}; | ||||
| 	}; | ||||
| 	class datafile | ||||
| 	{ | ||||
| 	public: | ||||
| @ -473,4 +437,43 @@ namespace olc::utils | ||||
| 		// Used to identify if a property is a comment or not, not user facing
 | ||||
| 		bool m_bIsComment = false; | ||||
| 	}; | ||||
| 	 | ||||
| 	class datafilestringdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafilestringdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		std::string operator[](int index){return data.get().GetProperty(key).GetString(index);}; | ||||
| 	}; | ||||
| 	class datafileintdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafileintdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		int operator[](int index){ | ||||
| 			return data.get().GetProperty(key).GetInt(index); | ||||
| 		}; | ||||
| 	}; | ||||
| 	class datafilefloatdata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafilefloatdata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		float operator[](int index){return data.get().GetProperty(key).GetReal(index);}; | ||||
| 	}; | ||||
| 	class datafiledoubledata | ||||
| 	{ | ||||
| 		std::reference_wrapper<datafile>data; | ||||
| 		std::string key; | ||||
| 		public: | ||||
| 		inline datafiledoubledata(datafile&dat,std::string key) | ||||
| 		:data(dat),key(key){}; | ||||
| 		double operator[](int index){return data.get().GetProperty(key).GetReal(index);}; | ||||
| 	}; | ||||
| } | ||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user