-// Copyright (C) 2009 - 2010 Mathias Froehlich - Mathias.Froehlich@web.de
+// Copyright (C) 2009 - 2011 Mathias Froehlich - Mathias.Froehlich@web.de
//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Library General Public
namespace simgear {
+class HLADataElementVisitor;
+class HLAConstDataElementVisitor;
+
class HLADataElement : public SGReferenced {
public:
virtual ~HLADataElement();
+ virtual void accept(HLADataElementVisitor& visitor) = 0;
+ virtual void accept(HLAConstDataElementVisitor& visitor) const = 0;
+
virtual bool encode(HLAEncodeStream& stream) const = 0;
virtual bool decode(HLADecodeStream& stream) = 0;
SGSharedPtr<Data> _data;
};
typedef std::list<PathElement> Path;
- typedef std::pair<std::string, Path> AttributePathPair;
+ typedef std::pair<std::string, Path> StringPathPair;
+ typedef StringPathPair AttributePathPair; // deprecated
typedef std::pair<unsigned, Path> IndexPathPair;
static std::string toString(const Path& path);
- static std::string toString(const AttributePathPair& path)
+ static std::string toString(const StringPathPair& path)
{ return path.first + toString(path.second); }
- static AttributePathPair toAttributePathPair(const std::string& s);
+ static StringPathPair toStringPathPair(const std::string& s);
+ static AttributePathPair toAttributePathPair(const std::string& s) // deprecated
+ { return toStringPathPair(s); }
static Path toPath(const std::string& s)
- { return toAttributePathPair(s).second; }
+ { return toStringPathPair(s).second; }
private:
// SGSharedPtr<const TimeStamp> _timeStamp;