///scratch/berryj/link/new_link/link/bin/instantiate "-a" "-t" "char*" "-h" "Attribute" "-II" "LINK/graph/Attribute.h" "-I" "LINK/graph/GraphObject.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/graph/GraphObject.h>

#include <LINK/graph/Graph.h>


typedef char* _char_;
typedef Attribute<char* > _Attribute_char__;


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



#ifdef __GNUC__
template class Attribute<char* >;

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

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

