00001
00002
00003 #ifndef ATHLINKS_ELEMENTLINKVECTORBASE_H
00004 #define ATHLINKS_ELEMENTLINKVECTORBASE_H
00005
00006
00007 extern "C" {
00008 # include <stdint.h>
00009 }
00010 #include <vector>
00011
00023 class ElementLinkVectorBase {
00024
00025 public:
00027 ElementLinkVectorBase( const std::vector< uint32_t >& keys =
00028 std::vector< uint32_t >(),
00029 const std::vector< uint32_t >& indices =
00030 std::vector< uint32_t >() );
00032 virtual ~ElementLinkVectorBase() {}
00033
00035 const std::vector< uint32_t >& persKeys() const;
00037 void setPersKeys( const std::vector< uint32_t >& keys );
00038
00040 const std::vector< uint32_t >& persIndices() const;
00042 void setPersIndices( const std::vector< uint32_t >& indices );
00043
00045 virtual bool toTransient() = 0;
00046
00047 protected:
00049 std::vector< uint32_t > m_persKeys;
00051 std::vector< uint32_t > m_persIndices;
00052
00061 bool m_isDirectIO;
00062
00063 };
00064
00065 #endif // ATHLINKS_ELEMENTLINKVECTORBASE_H