activemq-cpp-3.8.2
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 
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 ) {
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_ */
#define NULL
Definition: Config.h:33
static void fill(E *array, int size, const E &value)
Fills an array with the specified element.
Definition: Arrays.h:57
Definition: IndexOutOfBoundsException.h:31
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
Definition: Arrays.h:28
Definition: IllegalArgumentException.h:31
Definition: NullPointerException.h:32
Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements...
Definition: AprPool.h:25