actual/packages/node-libofx/OpenSP-1.5.2/lib/Id.h
2022-04-28 22:44:38 -04:00

60 lines
983 B
C++

// Copyright (c) 1994 James Clark
// See the file COPYING for copying permission.
#ifndef Id_INCLUDED
#define Id_INCLUDED 1
#ifdef __GNUG__
#pragma interface
#endif
#include "Named.h"
#include "Location.h"
#include "Vector.h"
#ifdef SP_NAMESPACE
namespace SP_NAMESPACE {
#endif
class Id : public Named {
public:
Id(const StringC &);
void define(const Location &);
void addPendingRef(const Location &);
Boolean defined() const;
const Location &defLocation() const;
const Vector<Location> &pendingRefs() const;
private:
Location defLocation_;
Vector<Location> pendingRefs_;
};
inline
Boolean Id::defined() const
{
return !defLocation_.origin().isNull();
}
inline
const Location &Id::defLocation() const
{
return defLocation_;
}
inline
const Vector<Location> &Id::pendingRefs() const
{
return pendingRefs_;
}
inline
void Id::addPendingRef(const Location &loc)
{
pendingRefs_.push_back(loc);
}
#ifdef SP_NAMESPACE
}
#endif
#endif /* not Id_INCLUDED */