SizedArray
Similar to class Array
but this class also knows the length of the array. More...

Public Types |
|
typedef std::size_t | size_type |
Length type. |
|
Public Types inherited from xpress::Array< T > | |
typedef T | value_type |
The type of data in this array. |
|
Public Member Functions |
|
SizedArray () | |
Create a null array. |
|
SizedArray (SizedArray< typename std::remove_const< T >::type > const &s) | |
Copy constructor. |
|
template<size_type N> | |
SizedArray (std::array< T, N > &d) | |
Create a new array descriptor from a std::array . |
|
template<size_type N> | |
SizedArray (std::array< typename std::remove_const< T >::type, N > const &d) | |
Create a new array descriptor from a std::array . |
|
SizedArray (std::nullptr_t) | |
Create an array from a null pointer. |
|
SizedArray (std::vector< T > &d) | |
Create a new array descriptor from a std::vector . |
|
SizedArray (std::vector< typename std::remove_const< T >::type > const &d) | |
Create a new array descriptor from a std::vector . |
|
SizedArray (T *d, size_type l) | |
Create a new array descriptor from a C-style array and a length. |
|
auto | begin () const -> typename Array< T >::value_type * |
Get an iterator to the first element in the wrapped array. |
|
auto | end () const -> typename Array< T >::value_type * |
Get an iterator to one past the last element in the wrapped array. |
|
auto | size () const -> size_type |
Get the size of the wrapped array. |
|
auto | toVector () const -> std::vector< typename std::remove_const< T >::type > |
Convert this array to a vector. |
|
Public Member Functions inherited from xpress::Array< T > | |
Array () | |
Create a null array. |
|
Array (Array< typename std::remove_const< T >::type > const &a) | |
Copy constructor. |
|
template<std::size_t N> | |
Array (std::array< T, N > &d) | |
Create a new array descriptor from a std::array . |
|
template<std::size_t N> | |
Array (std::array< typename std::remove_const< T >::type, N > const &d) | |
Create a new array descriptor from a std::array . |
|
Array (std::nullptr_t) | |
Create an array from a null pointer. |
|
Array (std::vector< T > &d) | |
Create a new array descriptor from a std::vector . |
|
Array (std::vector< typename std::remove_const< T >::type > const &d) | |
Create a new array descriptor from a std::vector . |
|
Array (T *d) | |
Create a new array descriptor from a C style array. |
|
operator bool () const | |
Conversion to boolean. |
|
operator value_type * () const | |
Dereference operator. |
|
bool | operator!= (std::nullptr_t) const |
Nullity check. |
|
bool | operator== (std::nullptr_t) const |
Nullity check. |
|
template<typename I > | |
value_type & | operator[] (I i) const |
Index into wrapped data. |
|
Public Attributes |
|
size_type | length |
Number of elements in the wrapped array. |
|
Public Attributes inherited from xpress::Array< T > | |
value_type * | data |
The underlying C style array. |
|
Detailed Description
class xpress::SizedArray< T >
Similar to class Array
but this class also knows the length of the array.
Note that for std::array
and std::vector
the constructor extracts a pointer to the underlying raw data storage. So this storage must stay alive for the lifetime of the Array instance, otherwise undefined behavior will occur.
You should not have to deal with this class explicitly. It only exists to simplify argument passing to Xpress functions. It provides flexibility without creating a large amount of overloads.
- Since
- 44.00
Member Typedef Documentation
size_type
std::size_t xpress::SizedArray< T >::size_type |
Length type.
- Since
- 44.00
Constructor & Destructor Documentation
SizedArray() [1/8]
|
inline |
Create a new array descriptor from a std::vector
.
- Parameters
-
d The vector.
- Since
- 44.00
SizedArray() [2/8]
|
inline |
Create a new array descriptor from a std::vector
.
- Parameters
-
d The vector.
- Since
- 44.00
SizedArray() [3/8]
|
inline |
Create a new array descriptor from a std::array
.
- Parameters
-
d The array.
- Since
- 44.00
SizedArray() [4/8]
|
inline |
Create a new array descriptor from a std::array
.
- Parameters
-
d The array.
- Since
- 44.00
SizedArray() [5/8]
|
inline |
Copy constructor.
- Parameters
-
s The array to copy.
- Since
- 44.00
SizedArray() [6/8]
|
inline |
Create a new array descriptor from a C-style array and a length.
- Parameters
-
d The array. l Length of the array.
- Since
- 44.00
SizedArray() [7/8]
|
inline |
Create an array from a null
pointer.
- Since
- 44.00
SizedArray() [8/8]
|
inline |
Create a null
array.
- Since
- 44.00
Member Function Documentation
begin()
|
inline |
Get an iterator to the first element in the wrapped array.
- Returns
- An iterator to the first element in the wrapped array.
- Since
- 44.00
end()
|
inline |
Get an iterator to one past the last element in the wrapped array.
- Returns
- An iterator to one past the last element in the wrapped array.
- Since
- 44.00
size()
|
inline |
Get the size of the wrapped array.
- Returns
- The size of the wrapped array.
- Since
- 44.00
toVector()
|
inline |
Convert this array to a vector.
Iterates over all elements in this array, stores them in a vector (in iteration order) and returns that array.
- Returns
- The vector with the elements from this array.
- Since
- 44.00
Member Data Documentation
length
size_type xpress::SizedArray< T >::length |
Number of elements in the wrapped array.
- Since
- 44.00
The documentation for this class was generated from the following file:
- xpress.hpp
© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.