Sure, make such a directory inside structure if you want. I just think that
it is confusing to have two different classes that are non trivial in the
same header.

If you are only going to use it inside this FactorGraph another option is
to make a private class nested in FactorGraph. In the header you would just
forward declare this class and then you define and implement it in the cpp.
On 6 Aug 2013 20:45, "Shell Hu" <notifications@github.com> wrote:

> In src/shogun/structure/FactorGraph.h:
>
> > @@ -19,7 +21,107 @@
> >
> >  namespace shogun {
> >
> > -/* @brief Class CFactorGraph a factor graph is a structured input in general
> > +/** @brief Class CDisjointSet data structure for linking graph nodes
> > + * It's easy to identify connected graph, acyclic graph, roots of forest etc.
> > + * please refer to http://en.wikipedia.org/wiki/Disjoint-set_data_structure
> > + */
> > +class CDisjointSet : public CSGObject
>
> I have thought about this, but it only be used in CFactorGraph. Maybe we
> should create a "pgm" folder, and put all graphical model related classes
> in, each with a single file.
>
> —
> Reply to this email directly or view it on GitHub<https://github.com/shogun-toolbox/shogun/pull/1369/files#r5611737>
> .
>