/*! \file valuelink.cpp
** \brief ValueBase Link Implementation File
**
-** $Id: valuelink.cpp,v 1.1.1.1 2005/01/07 03:34:37 darco Exp $
+** $Id$
**
** \legal
** Copyright (c) 2004 Adrian Bentley
**
-** This software and associated documentation
-** are CONFIDENTIAL and PROPRIETARY property of
-** the above-mentioned copyright holder.
+** This package is free software; you can redistribute it and/or
+** modify it under the terms of the GNU General Public License as
+** published by the Free Software Foundation; either version 2 of
+** the License, or (at your option) any later version.
**
-** You may not copy, print, publish, or in any
-** other way distribute this software without
-** a prior written agreement with
-** the copyright holder.
+** This package is distributed in the hope that it will be useful,
+** but WITHOUT ANY WARRANTY; without even the implied warranty of
+** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+** General Public License for more details.
** \endlegal
*/
/* ========================================================================= */
#include "valuelink.h"
+#include "general.h"
+
#endif
/* === U S I N G =========================================================== */
ValueNode::LooseHandle ValueBaseLink::get_link_vfunc(int i)const
{
/*list_type::const_iterator it = list.begin();
-
+
while(it != list.end() && i-- > 0)
{
++it;
}
-
+
if(it == list.end())
{
return ValueNode::LooseHandle();
if(h)
{
- return h->get_local_name();
+ return h->get_local_name();
}else return String();
}
return i;
}
}
-
+
return list.end();
}
ValueBaseLink::list_type::iterator ValueBaseLink::findlink(ValueNode::Handle x)
return i;
}
}
-
+
return list.end();
}
void ValueBaseLink::add(ValueNode::Handle v)
{
list_type::iterator i = findlink(v);
-
+
if(i != list.end())
{
list.push_back(v);
void ValueBaseLink::remove(ValueNode::Handle v)
{
list_type::iterator i = findlink(v);
-
+
if(i != list.end())
{
if(i != list.end()-1)
*i = list.back();
}
list.pop_back();
- }
+ }
}