Oracle Coherence for C++ API
Release 3.7.1.0
E22845-01
00001 /* 00002 * AbstractLongArray.hpp 00003 * 00004 * Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved. 00005 * 00006 * Oracle is a registered trademarks of Oracle Corporation and/or its 00007 * affiliates. 00008 * 00009 * This software is the confidential and proprietary information of Oracle 00010 * Corporation. You shall not disclose such confidential and proprietary 00011 * information and shall use it only in accordance with the terms of the 00012 * license agreement you entered into with Oracle. 00013 * 00014 * This notice may not be removed or altered. 00015 */ 00016 #ifndef COH_ABSTRACT_LONG_ARRAY_HPP 00017 #define COH_ABSTRACT_LONG_ARRAY_HPP 00018 00019 #include "coherence/lang.ns" 00020 00021 #include "coherence/util/LongArray.hpp" 00022 00023 COH_OPEN_NAMESPACE2(coherence,util) 00024 00025 00026 /** 00027 * Abstract base class for LongArray implementations. 00028 * 00029 * @author js 2008.04.04 00030 */ 00031 class COH_EXPORT AbstractLongArray 00032 : public abstract_spec<AbstractLongArray, 00033 extends<Object>, 00034 implements<LongArray> > 00035 { 00036 // ----- LongArray interface -------------------------------------------- 00037 00038 public: 00039 /** 00040 * {@inheritDoc} 00041 */ 00042 virtual Object::Holder get(int64_t lIndex) const; 00043 00044 /** 00045 * {@inheritDoc} 00046 */ 00047 virtual int64_t add(Object::Holder ohValue); 00048 00049 /** 00050 * {@inheritDoc} 00051 */ 00052 virtual bool exists(int64_t lIndex) const; 00053 00054 /** 00055 * {@inheritDoc} 00056 */ 00057 virtual Object::Holder remove(int64_t lIndex); 00058 00059 /** 00060 * {@inheritDoc} 00061 */ 00062 virtual bool contains(Object::View vElement) const; 00063 00064 /** 00065 * {@inheritDoc} 00066 */ 00067 virtual void clear(); 00068 00069 /** 00070 * {@inheritDoc} 00071 */ 00072 virtual bool isEmpty() const; 00073 00074 /** 00075 * {@inheritDoc} 00076 */ 00077 virtual size32_t getSize() const; 00078 00079 /** 00080 * {@inheritDoc} 00081 */ 00082 virtual int64_t getFirstIndex() const; 00083 00084 /** 00085 * {@inheritDoc} 00086 */ 00087 virtual int64_t getLastIndex() const; 00088 00089 00090 // ----- Object interface ----------------------------------------------- 00091 00092 public: 00093 /** 00094 * {@inheritDoc} 00095 */ 00096 virtual void toStream(std::ostream& out) const; 00097 00098 /** 00099 * {@inheritDoc} 00100 */ 00101 virtual bool equals(Object::View v) const; 00102 00103 /** 00104 * {@inheritDoc} 00105 */ 00106 virtual size32_t hashCode() const; 00107 }; 00108 00109 COH_CLOSE_NAMESPACE2 00110 00111 #endif // COH_ABSTRACT_LONG_ARRAY_HPP