]> git.tdb.fi Git - builder.git/blobdiff - source/lib/sourcepackage.cpp
Disallow two components with the same name
[builder.git] / source / lib / sourcepackage.cpp
index 09135921f51a99498974545e8c7c5e8e24d70718..34e8a1b6ec1c6009abc366960844981902a5262e 100644 (file)
@@ -219,6 +219,8 @@ void SourcePackage::Loader::feature(const string &n, const string &d)
 template<typename C, typename... Args>
 void SourcePackage::Loader::component(Args... args, const string &n)
 {
+       if(any_of(obj.components.begin(), obj.components.end(), [&n](const Component *c){ return c->get_name()==n; }))
+               throw key_error(n);
        C *comp = new C(obj, n, args...);
        load_sub(*comp);
        obj.components.push_back(comp);