activemq-cpp-3.9.5
LongBuffer.h
Go to the documentation of this file.
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements. See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License. You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18#ifndef _DECAF_NIO_LONGBUFFER_H_
19#define _DECAF_NIO_LONGBUFFER_H_
20
21#include <decaf/nio/Buffer.h>
28
29namespace decaf{
30namespace nio{
31
50 class DECAF_API LongBuffer : public Buffer,
51 public lang::Comparable<LongBuffer> {
52 protected:
53
65
66 public:
67
68 virtual ~LongBuffer() {}
69
73 virtual std::string toString() const;
74
89 virtual long long* array() = 0;
90
103 virtual int arrayOffset() = 0;
104
122 virtual LongBuffer* asReadOnlyBuffer() const = 0;
123
142 virtual LongBuffer& compact() = 0;
143
157 virtual LongBuffer* duplicate() = 0;
158
167 virtual long long get() = 0;
168
180 virtual long long get( int index ) const = 0;
181
196 LongBuffer& get( std::vector<long long> buffer );
197
227 LongBuffer& get( long long* buffer, int size, int offset, int length );
228
238 virtual bool hasArray() const = 0;
239
261
289 LongBuffer& put( const long long* buffer, int size, int offset, int length );
290
303 LongBuffer& put( std::vector<long long>& buffer );
304
318 virtual LongBuffer& put( long long value ) = 0;
319
334 virtual LongBuffer& put( int index, long long value ) = 0;
335
349 virtual LongBuffer* slice() const = 0;
350
351 public: // Comparable
352
356 virtual int compareTo( const LongBuffer& value ) const;
357
361 virtual bool equals( const LongBuffer& value ) const;
362
366 virtual bool operator==( const LongBuffer& value ) const;
367
371 virtual bool operator<( const LongBuffer& value ) const;
372
373 public: // Statics
374
388
413 static LongBuffer* wrap( long long* array, int size, int offset, int length );
414
430 static LongBuffer* wrap( std::vector<long long>& buffer );
431
432 };
433
434}}
435
436#endif /*_DECAF_NIO_LONGBUFFER_H_*/
This interface imposes a total ordering on the objects of each class that implements it.
Definition Comparable.h:33
virtual int capacity() const
Definition Buffer.h:145
Buffer(int capactiy)
virtual long long get(int index) const =0
Absolute get method.
virtual long long get()=0
Relative get method.
virtual bool operator==(const LongBuffer &value) const
LongBuffer(int capacity)
Creates a LongBuffer object that has its backing array allocated long longernally and is then owned a...
LongBuffer & put(LongBuffer &src)
This method transfers the long longs remaining in the given source buffer long longo this buffer.
virtual bool equals(const LongBuffer &value) const
LongBuffer & get(std::vector< long long > buffer)
Relative bulk get method.
static LongBuffer * allocate(int capacity)
Allocates a new Double buffer.
virtual int compareTo(const LongBuffer &value) const
LongBuffer & put(std::vector< long long > &buffer)
This method transfers the entire content of the given source long longs array long longo this buffer.
static LongBuffer * wrap(long long *array, int size, int offset, int length)
Wraps the passed buffer with a new LongBuffer.
virtual LongBuffer * slice() const =0
Creates a new LongBuffer whose content is a shared subsequence of this buffer's content.
virtual bool hasArray() const =0
Tells whether or not this buffer is backed by an accessible long long array.
virtual long long * array()=0
Returns the long long array that backs this buffer (optional operation).
virtual LongBuffer & put(long long value)=0
Writes the given long longs long longo this buffer at the current position, and then increments the p...
virtual bool operator<(const LongBuffer &value) const
virtual ~LongBuffer()
Definition LongBuffer.h:68
virtual LongBuffer & put(int index, long long value)=0
Writes the given long longs long longo this buffer at the given index.
LongBuffer & get(long long *buffer, int size, int offset, int length)
Relative bulk get method.
virtual std::string toString() const
virtual LongBuffer * asReadOnlyBuffer() const =0
Creates a new, read-only long long buffer that shares this buffer's content.
static LongBuffer * wrap(std::vector< long long > &buffer)
Wraps the passed STL long long Vector in a LongBuffer.
virtual LongBuffer * duplicate()=0
Creates a new long long buffer that shares this buffer's content.
virtual int arrayOffset()=0
Returns the offset within this buffer's backing array of the first element of the buffer (optional op...
virtual LongBuffer & compact()=0
Compacts this buffer.
LongBuffer & put(const long long *buffer, int size, int offset, int length)
This method transfers long longs long longo this buffer from the given source array.
#define DECAF_API
Definition Config.h:29
Definition Readable.h:28
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25