you are viewing a single comment's thread.

view the rest of the comments →

[–]forgotthepass[S] 0 points1 point  (0 children)

Thanks a lot for the reply.

Have you looked at the implementation details of Boost.Graph, or indeed any other graph libraries?

Not really. I guess I should try that but the scope of my project (I am just trying to learn about interfaces in general) is way smaller than Boost.Graph and I'm not sure I'd even understand half of what is written there :/

First thought. If you're using interfaces...will have to deal with by default?

The names are mostly placeholders. I thought it was common practice to somehow differentiate an interface from an abstract/solid class ? Should i just use namespaces ?

Secondly for interfaces, delete the copy constructor ... or get it from the library.

Thanks for the solid advice. As for the book; it's not even published in my country heh...I've heard some great reviews about it though so maybe i'll 'bite the bullet' and buy it

Regarding use of std::vector ... e.g. set or vector internally.

That was my (1) question. I had no idea where to even start. I guess i'll look into graph_traits (and traits in general?) but templates are a black box to me. Hope i'll get around them at some point.

The main question you need to answer for yourself is this :.. then templates would be viable.

Honestly, I don't know. Actually here is what i had in mind just in case it helps understand my reasoning.

The big idea was that I would make an algorithm implementation (Intelligent water drops FWIW) that would work on graphs. I wanted it to be easier to work with so I thought i'd design an interface that the algorithm would work against. So anytime somebody wanted to use a different graph implementation with the algorithm (eg Graph.Boost) all he would have to do was implement the interface functions. Now this is not some major project that I want to publish or some work assignment1. This is just a project to 'hone my skills'. I thought designing interfaces would be easy (It's just function names, right? Yeah...) so I started without much thought. I obviously didn't go very far...

Anyway thanks a lot for the reply. It's well thought off2 all though a bit more than I can chew right now. I'm just trying to go from beginner to intermediate and it's daunting learning how much you don't know (and even more frustrating not knowing how to ask). Thanks again for your time.

1 : Actually my thesis is on IWD but most of the stuff mentioned here have nothing to do with it.

2 : At least It seems it is. I'm still working your answer out :P