00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016 #ifndef COH_BINARY_HPP
00017 #define COH_BINARY_HPP
00018
00019 #include "coherence/lang.ns"
00020
00021 #include "coherence/io/OctetArrayReadBuffer.hpp"
00022 #include "coherence/io/ReadBuffer.hpp"
00023
00024 COH_OPEN_NAMESPACE2(coherence,util)
00025
00026 using coherence::io::OctetArrayReadBuffer;
00027 using coherence::io::ReadBuffer;
00028
00029
00030
00031
00032
00033
00034
00035 class COH_EXPORT Binary
00036 : public cloneable_spec<Binary,
00037 extends<OctetArrayReadBuffer> >
00038 {
00039 friend class factory<Binary>;
00040
00041
00042
00043 private:
00044
00045
00046
00047
00048
00049
00050
00051 Binary(Array<octet_t>::View vab, size32_t of, size32_t cb);
00052
00053
00054
00055
00056 Binary(const Binary& that);
00057
00058
00059
00060
00061 public:
00062
00063
00064
00065 virtual size32_t hashCode() const;
00066
00067
00068
00069
00070 virtual bool equals(Object::View v) const;
00071
00072
00073
00074
00075 virtual bool isImmutable() const;
00076
00077
00078
00079
00080 virtual void toStream(std::ostream& out) const;
00081
00082
00083
00084
00085 protected:
00086
00087
00088
00089 virtual void updateLength(size32_t cb);
00090
00091
00092
00093
00094 virtual ReadBuffer::View instantiateReadBuffer(size32_t of,
00095 size32_t cb) const;
00096 };
00097
00098 COH_CLOSE_NAMESPACE2
00099
00100 #endif // COH_BINARY_HPP
Copyright (c) 2000, 2009, Oracle and/or its affiliates. All rights reserved.