| |
| // DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*- |
| |
| #ifndef __gnu_gcj_runtime_PersistentByteMap__ |
| #define __gnu_gcj_runtime_PersistentByteMap__ |
| |
| #pragma interface |
| |
| #include <java/lang/Object.h> |
| #include <gcj/array.h> |
| |
| extern "Java" |
| { |
| namespace gnu |
| { |
| namespace gcj |
| { |
| namespace runtime |
| { |
| class PersistentByteMap; |
| class PersistentByteMap$AccessMode; |
| } |
| } |
| } |
| namespace java |
| { |
| namespace nio |
| { |
| class MappedByteBuffer; |
| namespace channels |
| { |
| class FileChannel; |
| } |
| } |
| } |
| } |
| |
| class gnu::gcj::runtime::PersistentByteMap : public ::java::lang::Object |
| { |
| |
| PersistentByteMap(::java::io::File *); |
| public: |
| PersistentByteMap(::java::lang::String *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *); |
| PersistentByteMap(::java::io::File *, ::gnu::gcj::runtime::PersistentByteMap$AccessMode *); |
| private: |
| void init(::gnu::gcj::runtime::PersistentByteMap *, ::java::io::File *, jint, jint); |
| public: |
| static ::gnu::gcj::runtime::PersistentByteMap * emptyPersistentByteMap(::java::io::File *, jint, jint); |
| private: |
| jint getWord(jint); |
| void putWord(jint, jint); |
| public: |
| virtual ::java::util::Set * entrySet(); |
| private: |
| jint getBucket(jint); |
| jint getKeyPos(jint); |
| jint getValuePos(jint); |
| void putKeyPos(jint, jint); |
| void putValuePos(jint, jint); |
| JArray< jbyte > * getBytes(jint); |
| jint hash(JArray< jbyte > *); |
| public: |
| virtual JArray< jbyte > * get(JArray< jbyte > *); |
| virtual void put(JArray< jbyte > *, JArray< jbyte > *); |
| private: |
| jint addBytes(JArray< jbyte > *); |
| public: |
| virtual ::java::util::Iterator * iterator(jint); |
| virtual jint size(); |
| virtual jint stringTableSize(); |
| virtual jint capacity(); |
| virtual void force(); |
| virtual ::java::io::File * getFile(); |
| virtual void close(); |
| virtual void putAll(::gnu::gcj::runtime::PersistentByteMap *); |
| public: // actually package-private |
| static jint access$0(::gnu::gcj::runtime::PersistentByteMap *); |
| static jint access$1(::gnu::gcj::runtime::PersistentByteMap *); |
| static jint access$2(::gnu::gcj::runtime::PersistentByteMap *, jint); |
| static jint access$3(::gnu::gcj::runtime::PersistentByteMap *, jint); |
| static JArray< jbyte > * access$4(::gnu::gcj::runtime::PersistentByteMap *, jint); |
| private: |
| ::java::nio::MappedByteBuffer * __attribute__((aligned(__alignof__( ::java::lang::Object)))) buf; |
| static const jint MAGIC = 0; |
| static const jint VERSION = 4; |
| static const jint CAPACITY = 8; |
| static const jint TABLE_BASE = 12; |
| static const jint STRING_BASE = 16; |
| static const jint STRING_SIZE = 20; |
| static const jint FILE_SIZE = 24; |
| static const jint ELEMENTS = 28; |
| static const jint INT_SIZE = 4; |
| static const jint TABLE_ENTRY_SIZE = 8; |
| jint capacity__; |
| jint table_base; |
| jint string_base; |
| jint string_size; |
| jint file_size; |
| jint elements; |
| jlong length; |
| ::java::io::File * name; |
| static const jint UNUSED_ENTRY = -1; |
| public: |
| static const jint KEYS = 0; |
| static const jint VALUES = 1; |
| static const jint ENTRIES = 2; |
| private: |
| ::java::util::HashMap * values; |
| public: // actually package-private |
| ::java::nio::channels::FileChannel * fc; |
| public: |
| static ::java::lang::Class class$; |
| }; |
| |
| #endif // __gnu_gcj_runtime_PersistentByteMap__ |