activemq-cpp-3.9.5
Arrays.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_UTIL_ARRAYS_H_
19#define _DECAF_UTIL_ARRAYS_H_
20
24
25namespace decaf {
26namespace util {
27
28 class Arrays {
29 private:
30
31 Arrays(const Arrays& source);
32 Arrays& operator=(const Arrays& source);
33
34 private:
35
36 Arrays();
37
38 public:
39
40 virtual ~Arrays();
41
56 template<typename E>
57 static void fill(E* array, int size, const E& value) {
58
59 if (array == NULL) {
61 __FILE__, __LINE__, "Array pointer given was NULL.");
62 }
63
64 if (size < 0) {
66 __FILE__, __LINE__, "Array size value given was negative.");
67 }
68
69 for (int i = 0; i < size; ++i) {
70 array[i] = value;
71 }
72 }
73
94 template< typename E>
95 static void fill(E* array, int size, int start, int end, const E& value) {
96
97 if (array == NULL) {
99 __FILE__, __LINE__, "Array pointer given was NULL." );
100 }
101
102 if (size < 0) {
104 __FILE__, __LINE__, "Array size value given was negative." );
105 }
106
107 if (start > end) {
109 __FILE__, __LINE__, "The start index was greater than the end index." );
110 }
111
112 if (start < 0 || end > size) {
114 __FILE__, __LINE__, "The start index {%d} end index {%d} range is invalid.", start, end );
115 }
116
117 for (int i = start; i < end; ++i) {
118 array[i] = value;
119 }
120 }
121
122 };
123
124}}
125
126#endif /* _DECAF_UTIL_ARRAYS_H_ */
Definition IllegalArgumentException.h:31
Definition IndexOutOfBoundsException.h:31
Definition NullPointerException.h:32
static void fill(E *array, int size, int start, int end, const E &value)
Fills an array with the specified element within the range given.
Definition Arrays.h:95
static void fill(E *array, int size, const E &value)
Fills an array with the specified element.
Definition Arrays.h:57
#define NULL
Definition Config.h:33
Definition AbstractCollection.h:33
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements.
Definition AprPool.h:25