Esempio n. 1
0
void attribute_map::add_attribute( const attribute& newAttrib ) {
	if( !m_defining ) {
		throw std::runtime_error( "attribute_map.add_attribute: Failed to add attribut(" + newAttrib.get_name() +
			") because attribute map is not being defined." );
	}

	if( m_attribNames.find( newAttrib.get_name() ) != m_attribNames.end() ) {
		throw std::runtime_error( "attribute_map.add_attribute: Failed to add attribute(" + newAttrib.get_name() + 
			") because attribute map already has an attribute of the same name." );
	}

	m_attributes.push_back( newAttrib );
	m_attribNames.insert( newAttrib.get_name() );

	++m_attribCount;
}
Esempio n. 2
0
void verify_attribute_name( const attribute& attr, const string& name_expected )
{
   if( attr.get_name( ) != name_expected )
      throw runtime_error( "expecting attribute named '"
       + name_expected + "' but found attribute named '" + attr.get_name( ) + "'" );
}
Esempio n. 3
0
bool attribute::operator < (attribute &a)
{
    if(strcmp(m_name,a.get_name()) < 0)
        return true;
    return false;
}