sgpemv2/src/backend/dynamic_resource.cc
2018-09-25 10:20:45 +02:00

73 lines
1.7 KiB
C++

// src/backend/dynamic_resource.cc - Copyright 2005, 2006, University
// of Padova, dept. of Pure and Applied
// Mathematics
//
// This file is part of SGPEMv2.
//
// This is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 3 of the License, or
// (at your option) any later version.
//
// SGPEMv2 is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with SGPEMv2. If not, see http://www.gnu.org/licenses/.
#include "dynamic_resource.hh"
#include "static_resource.hh"
#include <sgpemv2/serialize_visitor.hh>
#include <sgpemv2/templates/down_cast.tcc>
#include <cassert>
using namespace sgpem;
DynamicResource::DynamicResource (StaticResource *core) : _static_resource (core)
{
}
bool
DynamicResource::operator== (const Resource &op2) const
{
return _static_resource == down_cast<const DynamicResource &> (op2)._static_resource;
}
Glib::ustring
DynamicResource::get_name () const
{
return _static_resource->get_name ();
}
unsigned int
DynamicResource::get_places () const
{
return _static_resource->get_places ();
}
void
DynamicResource::serialize (SerializeVisitor &translator) const
{
translator.from_resource (*this);
}
StaticResource &
DynamicResource::get_core ()
{
return *_static_resource;
}
const StaticResource &
DynamicResource::get_core () const
{
return *_static_resource;
}