|
Boost Users : |
From: Louis Lavery (louis_at_[hidden])
Date: 2006-07-03 05:06:12
According to the book [BGL p232], in order to customise the
EdgeList I need to define a container generator and parallel
edge traits class, and over load the push() and erase()
functions for the custom container [BGL p234].
My custom container is user::PushBackList<T>...
namespace user
{
template<typename ValueType> struct PushBackList
{
//...
};
struct PushBackListS { };
}
...and I've put the (specialised) container_gen and
parallel_edge_traits classes in namespace boost...
namespace boost
{
template<typename ValueType> struct
container_gen<user::PushBackListS,ValueType>
{
typedef user::PushBackList<ValueType> type;
};
template<> struct
parallel_edge_traits<user::PushBackListS>
{
typedef allow_parallel_edge_tag type;
};
}
...now all I need do is overload the push() and erase() functions.
The problem is they are in nested namespace graph_detail and are
called with full qualification (i.e. boost::graph_detail::push(...))
from adjacency_list class.
That means I need to put my overloads in boost::graph_detail.
Is that right?
Thanks, Louis.
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net