2 // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-
4 #ifndef __gnu_gcj_runtime_PersistentByteMap__
5 #define __gnu_gcj_runtime_PersistentByteMap__
9 #include <java/lang/Object.h>
10 #include <gcj/array.h>
20 class PersistentByteMap;
21 class PersistentByteMap$AccessMode;
29 class MappedByteBuffer;
38 class gnu::gcj::runtime::PersistentByteMap : public ::java::lang::Object
41 PersistentByteMap(::java::io::File *);
43 PersistentByteMap(::java::lang::String *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *);
44 PersistentByteMap(::java::io::File *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *);
46 void init(::gnu::gcj::runtime::PersistentByteMap *, ::java::io::File *, jint, jint);
48 static ::gnu::gcj::runtime::PersistentByteMap * emptyPersistentByteMap(::java::io::File *, jint, jint);
51 void putWord(jint, jint);
53 virtual ::java::util::Set * entrySet();
57 jint getValuePos(jint);
58 void putKeyPos(jint, jint);
59 void putValuePos(jint, jint);
60 JArray< jbyte > * getBytes(jint);
61 jint hash(JArray< jbyte > *);
63 virtual JArray< jbyte > * get(JArray< jbyte > *);
64 virtual void put(JArray< jbyte > *, JArray< jbyte > *);
66 jint addBytes(JArray< jbyte > *);
68 virtual ::java::util::Iterator * iterator(jint);
70 virtual jint stringTableSize();
71 virtual jint capacity();
73 virtual ::java::io::File * getFile();
75 virtual void putAll(::gnu::gcj::runtime::PersistentByteMap *);
76 public: // actually package-private
77 static jint access$0(::gnu::gcj::runtime::PersistentByteMap *);
78 static jint access$1(::gnu::gcj::runtime::PersistentByteMap *);
79 static jint access$2(::gnu::gcj::runtime::PersistentByteMap *, jint);
80 static jint access$3(::gnu::gcj::runtime::PersistentByteMap *, jint);
81 static JArray< jbyte > * access$4(::gnu::gcj::runtime::PersistentByteMap *, jint);
83 ::java::nio::MappedByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf;
84 static const jint MAGIC = 0;
85 static const jint VERSION = 4;
86 static const jint CAPACITY = 8;
87 static const jint TABLE_BASE = 12;
88 static const jint STRING_BASE = 16;
89 static const jint STRING_SIZE = 20;
90 static const jint FILE_SIZE = 24;
91 static const jint ELEMENTS = 28;
92 static const jint INT_SIZE = 4;
93 static const jint TABLE_ENTRY_SIZE = 8;
101 ::java::io::File * name;
102 static const jint UNUSED_ENTRY = -1;
104 static const jint KEYS = 0;
105 static const jint VALUES = 1;
106 static const jint ENTRIES = 2;
108 ::java::util::HashMap * values;
109 public: // actually package-private
110 ::java::nio::channels::FileChannel * fc;
112 static ::java::lang::Class class$;
115 #endif // __gnu_gcj_runtime_PersistentByteMap__