39 template<
typename T,
int NDIM,
int USD,
typename INDEX_TYPE >
45 if( slice.
size( 0 ) > 0 )
50 for( INDEX_TYPE i = 1; i < slice.
size( 0 ); ++i )
52 stream <<
", " << slice[ i ];
76 template<
typename >
class BUFFER_TYPE >
89 template<
typename T,
typename INDEX_TYPE,
template<
typename >
class BUFFER_TYPE >
93 if( view.
size() == 0 )
99 stream <<
"{ " << view[ 0 ];
101 if( view.size() > 0 )
104 for( INDEX_TYPE i = 1; i < view.size(); ++i )
106 stream <<
", " << view[ i ];
121 template<
typename T,
typename INDEX_TYPE,
template<
typename >
class BUFFER_TYPE >
134 template<
typename T,
typename INDEX_TYPE,
template<
typename >
class BUFFER_TYPE >
138 stream <<
"{" << std::endl;
140 for( INDEX_TYPE i = 0; i < view.
size(); ++i )
142 stream << i <<
"\t{";
143 for( INDEX_TYPE j = 0; j < view.
sizeOfArray( i ); ++j )
145 stream << view( i, j ) <<
", ";
148 stream <<
"}" << std::endl;
151 stream <<
"}" << std::endl;
163 template<
typename T,
typename INDEX_TYPE,
template<
typename >
class BUFFER_TYPE >
176 template<
typename T,
typename COL_TYPE,
typename INDEX_TYPE,
template<
typename >
class BUFFER_TYPE >
177 std::ostream & operator<< ( std::ostream & stream, CRSMatrixView< T const, COL_TYPE const, INDEX_TYPE const, BUFFER_TYPE >
const & view )
179 stream <<
"{" << std::endl;
181 for( INDEX_TYPE row = 0; row < view.numRows(); ++row )
183 stream <<
"row " << row << std::endl;
184 stream <<
"\tcolumns: " << view.getColumns( row ) << std::endl;
185 stream <<
"\tvalues: " << view.getEntries( row ) << std::endl;
188 stream <<
"}" << std::endl;
200 template<
typename T,
int N >
201 std::enable_if_t< !std::is_same< T, char >::value, std::ostream & >
202 operator<< ( std::ostream & stream, T
const ( &array )[ N ] )
204 stream <<
"{ " << array[ 0 ];
205 for(
int i = 1; i < N; ++i )
207 stream <<
", " << array[ i ];
222 template<
typename T,
int M,
int N >
223 std::ostream &
operator<< ( std::ostream & stream, T
const ( &array )[ M ][ N ] )
225 stream <<
"{ " << array[ 0 ];
226 for(
int i = 1; i < M; ++i )
228 stream <<
", " << array[ i ];
Contains the implementation of LvArray::ArrayOfArrays.
This class serves to provide a sliced multidimensional interface to the family of LvArray classes...
constexpr INDEX_TYPE_NC size() const
This class provides an interface similar to an std::set.
This class implements an array of arrays like object with contiguous storage.
This class serves to provide a "view" of a multidimensional array.
SortedArrayView< T const, INDEX_TYPE, BUFFER_TYPE > toViewConst() const &
Contains the implementation of LvArray::Array.
This class provides a view into an array of arrays like object.
Contains the implementation of LvArray::SortedArray.
constexpr INDEX_TYPE size() const
constexpr INDEX_TYPE size() const noexcept
constexpr INDEX_TYPE_NC sizeOfArray(INDEX_TYPE const i) const
constexpr ArraySlice< T const, NDIM, USD, INDEX_TYPE > toSliceConst() const &noexcept
Contains the implementation of LvArray::CRSMatrix.
std::ostream & operator<<(std::ostream &os, MemorySpace const space)
Output a MemorySpace enum to a stream.
This class provides a view into a SortedArray.
constexpr ArrayOfArraysView< T const, INDEX_TYPE const, true, BUFFER_TYPE > toViewConst() const &