8 #define SCARAB_API_EXPORTS 12 using std::stringstream;
33 for(
unsigned ind = 0; ind <
f_contents.size(); ++ind )
43 for(
unsigned ind = 0; ind <
f_contents.size(); ++ind )
45 f_contents[ind] = orig.f_contents[ ind ]->move_clone();
59 for(
unsigned ind = 0; ind < rhs.
f_contents.size(); ++ind )
71 for(
unsigned ind = 0; ind < rhs.f_contents.size(); ++ind )
73 f_contents[ind] = rhs.f_contents[ ind ]->move_clone();
84 if( ! *it ) it->reset(
new param() );
91 if( ! a_subset.
is_array() )
return false;
94 contents::const_iterator t_this_it =
f_contents.begin();
95 contents::const_iterator t_that_it = t_subset_array.
f_contents.begin();
96 while( t_that_it != t_subset_array.
f_contents.end() )
98 if( ! (*t_this_it)->has_subset( **t_that_it ) )
return false;
110 for(
unsigned index = 0; index <
size(); ++index )
115 assign( index, a_object[index] );
119 param& t_param = (*this)[index];
140 assign( index, a_object[index] );
152 out <<
'\n' << indentation <<
"[\n";
153 param::s_indent_level++;
156 out << indentation <<
" " << **it <<
'\n';
158 param::s_indent_level--;
159 out << indentation <<
"]\n";
virtual bool is_node() const
param & operator=(const param &rhs)
void merge(const param_node &a_object)
virtual bool has_subset(const param &a_subset) const
param_array & operator=(const param_array &rhs)
virtual std::string to_string() const
virtual bool is_value() const
void merge(const param_array &an_array)
virtual bool is_array() const
static unsigned s_indent_level
SCARAB_API std::ostream & operator<<(std::ostream &out, const param_array &a_value)
void assign(unsigned a_index, const param &a_value)
virtual bool is_array() const
void resize(unsigned a_size)