예제 #1
0
bool Linker::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != Linker::Type())
        return false;

    return inherit(std::static_pointer_cast<Linker>(base));
}
예제 #2
0
bool ProductType::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != ProductType::Type())
        return false;

    return inherit(std::static_pointer_cast<ProductType>(base));
}
예제 #3
0
bool BuildSystem::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != BuildSystem::Type())
        return false;

    return inherit(reinterpret_cast <BuildSystem::shared_ptr const &> (base));
}
bool PropertyConditionFlavor::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != PropertyConditionFlavor::Type())
        return false;

    return inherit(reinterpret_cast <PropertyConditionFlavor::shared_ptr const &> (base));
}
예제 #5
0
bool Linker::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != Linker::Type())
        return false;

    return inherit(reinterpret_cast <Linker::shared_ptr const &> (base));
}
예제 #6
0
bool BuildSettings::
inherit(Specification::shared_ptr const &base)
{
    if (base->type() != BuildSettings::Type())
        return false;

    return inherit(std::static_pointer_cast<BuildSettings>(base));
}
예제 #7
0
bool Specification::
inherit(Specification::shared_ptr const &base)
{
    if (base == nullptr || base.get() == this)
        return false;

    _base               = base;
    _clazz              = Inherit::Override(_clazz, base->_clazz);
    _isGlobalDomainInUI = Inherit::Override(_isGlobalDomainInUI, base->_isGlobalDomainInUI);
    _name               = Inherit::Override(_name, base->_name);
    _description        = Inherit::Override(_description, base->_description);
    _vendor             = Inherit::Override(_vendor, base->_vendor);
    _version            = Inherit::Override(_version, base->_version);

    return true;
}