Oracle Coherence for C++ API
Release 3.6.0.0

E15728-01

coherence/util/AbstractLongArray.hpp

00001 /*
00002 * AbstractLongArray.hpp
00003 *
00004 * Copyright (c) 2000, 2010, 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 COH_CLOSE_NAMESPACE2
00105 
00106 #endif // COH_ABSTRACT_LONG_ARRAY_HPP
Copyright © 2000, 2010, Oracle and/or its affiliates. All rights reserved.