activemq-cpp-3.6.0
Main Page
Namespaces
Data Structures
Files
File List
Globals
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
21
#include <
decaf/lang/exceptions/NullPointerException.h
>
22
#include <
decaf/lang/exceptions/IllegalArgumentException.h
>
23
#include <
decaf/lang/exceptions/IndexOutOfBoundsException.h
>
24
25
namespace
decaf {
26
namespace
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
) {
60
throw
decaf::lang::exceptions::NullPointerException
(
61
__FILE__, __LINE__,
"Array pointer given was NULL."
);
62
}
63
64
if
( size < 0 ) {
65
throw
decaf::lang::exceptions::IllegalArgumentException
(
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
) {
98
throw
decaf::lang::exceptions::NullPointerException
(
99
__FILE__, __LINE__,
"Array pointer given was NULL."
);
100
}
101
102
if
( size < 0 ) {
103
throw
decaf::lang::exceptions::IllegalArgumentException
(
104
__FILE__, __LINE__,
"Array size value given was negative."
);
105
}
106
107
if
( start > end ) {
108
throw
decaf::lang::exceptions::IllegalArgumentException
(
109
__FILE__, __LINE__,
"The start index was greater than the end index."
);
110
}
111
112
if
( start < 0 || end > size ) {
113
throw
decaf::lang::exceptions::IndexOutOfBoundsException
(
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_ */
src
main
decaf
util
Arrays.h
Generated on Mon Mar 4 2013 10:25:46 for activemq-cpp-3.6.0 by
1.8.1.2