8 #define SCARAB_API_EXPORTS 12 using std::stringstream;
22 f_value_type( k_invalid ),
169 if( &rhs ==
this )
return *
this;
194 return string(
"invalid" );
197 return string(
"bool" );
200 return string(
"uint" );
203 return string(
"int" );
206 return string(
"double" );
209 return string(
"string" );
212 return string(
"unknown" );
225 std::string t_str_val;
226 bool t_is_numeric =
true;
229 t_is_numeric = t_is_numeric && ::isdigit( *t_val_it );
230 t_str_val.push_back( ::tolower( *t_val_it ) );
233 if( t_is_numeric )
return std::stoi( t_str_val );
235 std::istringstream t_iss_val( t_str_val );
237 t_iss_val >> std::boolalpha >> t_bool_val;
251 std::stringstream t_conv;
267 std::stringstream t_conv;
283 std::stringstream t_conv;
295 std::stringstream t_conv;
323 if( ! a_subset.
is_value() )
return false;
virtual bool has_subset(const param &a_subset) const
virtual bool is_value() const
union scarab::param_value::Values f_value
enum scarab::param_value::ValueTypes f_value_type
SCARAB_API std::ostream & operator<<(std::ostream &out, const param_array &a_value)
const std::string & as_string() const
param_value & operator=(const param_value &rhs)