///scratch/berryj/link/new_link/link/bin/instantiate "-a" "-t" "DJSet*" "-h" "Attribute" "-II" "LINK/graph/Attribute.h" "-I" "LINK/basic/DJSet.h" "-I" "LINK/graph/Graph.h" "-d" "graph" 
#ifdef __GNUC__
#define DEFINE_TEMPLATE
#endif

#include <LINK/basic/ElementOps.h>

#include <LINK/graph/Attribute.h>

#ifdef __GNUC__
#undef DEFINE_TEMPLATE
#endif

#include <LINK/basic/DJSet.h>

#include <LINK/graph/Graph.h>


typedef DJSet* _DJSet_;
typedef Attribute<DJSet* > _Attribute_DJSet__;


//*********************************************************************
#ifdef __GNUC__
template class ElementOps<_Attribute_DJSet__>;
#endif
//*********************************************************************



#ifdef __GNUC__
template class Attribute<DJSet* >;

#ifdef __GNUC__
template int newAttribute(Graph*, String, _DJSet_&, int);
template int getAttribute(GraphObject*, String, _DJSet_&);
template int setAttribute(GraphObject*, String, _DJSet_&, int);
#endif
#endif

Attribute<_DJSet_ >::~Attribute()
{
	if (_graph) {
		if (strncmp(_name, "x_", 2) != 0)
			resetAttribute(_graph, _name);
	_graph->removeAttr(this);
	}
	delete _name;
	if (_static_flag == LINK_DYNAMIC)
		delete _value;
}

