#ifndef __test_reg_everything_h__ #define __test_reg_everything_h__ #pragma warning (disable: 4786) #include #include #include #include struct everything { public: std::string msg; everything(bool b) : msg("From bool") {} everything(char c) : msg("From char") {} everything(unsigned char uc) : msg("From unsigned char") {} everything(short s) : msg("From short") {} everything(unsigned short us) : msg("From unsigned short") {} everything(int i) : msg("From int") {} everything(unsigned int ui) : msg("From unsigned int") {} everything(long l) : msg("From long") {} everything(unsigned long ul) : msg("From unsigned long") {} everything(float f) : msg("From float") {} everything(double d) : msg("From double") {} everything(const std::string& s) : msg("From string") {} everything(const std::vector& vb) : msg("From vector of bool") {} everything(const std::vector& vc) : msg("From vector of char") {} everything(const std::vector& vuc) : msg("From vector of unsigned char") {} everything(const std::vector& vs) : msg("From vector of short") {} everything(const std::vector& vus) : msg("From vector of unsigned short") {} everything(const std::vector& vi) : msg("From vector of int") {} everything(const std::vector& vui) : msg("From vector of unsigned int") {} everything(const std::vector& vl) : msg("From vector of long") {} everything(const std::vector& vul) : msg("From vector of unsigned long") {} everything(const std::vector& vf) : msg("From vector of float") {} everything(const std::vector& vd) : msg("From vector of double") {} everything(const std::vector& vs) : msg("From vector of string") {} }; class everything_output { public: static xParam::ValueList sub_objects(const everything& e) { xParam::ValueList vl; return vl << xParam::Val( e.msg ); } }; #endif