degate  0.1.2
Todo List
Member degate::BackgroundClassifier< ImageType, HistogramType >::recognize (coord_type &v)
Cache data
Member degate::DeepCopyableBase::cloneDeepInto (DeepCopyable_shptr destination, oldnew_t *oldnew) const =0
Find out whether the default assignment operator can be used to simplify implementations of this method.
Class degate::DegateLogicException
Check for std::logic_error exceptions in the code and replace it with a GenericDegateException.
Class degate::DegateRuntimeException
Check for std::runtime_error exceptions in the code and replace it with a DegateRuntimeException.
Class degate::Gate
The template type id makes only sense, if ports have the same thing with template ports. Maybe removing this is an option, because there are easier ways to reload the gate library.
Class degate::GateLibrary
There is no way to deal with gate libraries, which have different image sizes for the gate templates than the current project. There should be a way to scale the template images, but it is unknown how to derive the scaling factor without pain.
Class degate::GatePort
Dispatch get_fill/frame_color() calls to GateTemplatePort::get_xxx_color(). Make sure, that colors are updated when changes are made in the PortColorManager.
Member degate::GateTemplate::add_template_port (GateTemplatePort_shptr template_port)
In order to make the API hard to misuse, this method might be made private.
Member degate::GateTemplate::cloneDeepInto (DeepCopyable_shptr destination, oldnew_t *oldnew) const
Determine whether 'images' must be deep-cloned.
Member degate::GateTemplate::remove_template_port (GateTemplatePort_shptr template_port)
In order to make the API hard to misuse, this method might be made private.
Member degate::GateTemplate::set_image (Layer::LAYER_TYPE layer_type, GateTemplateImage_shptr img)
: Here we might need a hook for storing different image types, e.g. a template image that is an average image or sth. like that.
Exceptions:
InvalidPointerExceptionThrows this excpetion, if img is NULL.
Member degate::Image< PixelPolicy, StoragePolicy_PersistentFile >::Image (unsigned int _width, unsigned int _height, std::string const &filename)
The third parameter must be optional.
Member degate::Importer::check_file (std::string const &filename) const
Change the return type tool bool.
Member degate::is_directory (std::string const &path)
Instead of writing own wrapper functions, it would be better to use the boost filesystem abstraction.
Class degate::is_pointer< std::shared_ptr< T > >
use boost version instead.
Class degate::is_pointer< T * >
use boost version instead.
Class degate::is_pointer< T >
use boost version instead.
Member degate::Layer::cloneShallow () const
Check whether scaling_manager can really be reused by clones without trouble.
Class degate::LogicModel
implement a move_object
Member degate::LogicModel::add_gate_template (GateTemplate_shptr tmpl)

Implement update.

should call add_object() for the port

Member degate::LogicModel::add_template_port_to_gate_template (GateTemplate_shptr gate_template, GateTemplatePort_shptr template_port)
should call add_object() for the port
Member degate::LogicModel::remove_gate_template (GateTemplate_shptr tmpl)

should call remove_object() for the port

The method name does not express, that the gates are removed as well. The method should be named remove_template_and_gates() and remove_gate_template() should only unreference and destroy the template.

Member degate::LogicModel::remove_layer (Layer_shptr layer)
Implement this.
Member degate::LogicModel::remove_object (PlacedLogicModelObject_shptr o)
fix it
Member degate::LogicModel::remove_template_port_from_gate_template (GateTemplate_shptr gate_template, GateTemplatePort_shptr template_port)
should call add_object() for the port.
Member degate::LogicModel::remove_template_references (GateTemplate_shptr tmpl)
should call remove_object() for the port
Member degate::LogicModel::set_gate_library (GateLibrary_shptr new_gate_lib)
: Implement updates on the logic model.
Member degate::MemoryMap< T >::raw_copy (void *buf) const

Remove this method.

Remove this method.

Member degate::save_image (std::string const &path, std::shared_ptr< ImageType > img)
We should use a factory for writer objects.
Exceptions:
DegateRuntimeExceptionThis exception is thrown, if the writer failed to save the image.
InvalidPointerExceptionThis exception is thrown, if parameter img represents an invalid pointer.
Member degate::ScalingManager< ImageType >::create_scalings ()
If the image was already scaled, do not do it again. Maybe we need a force option.