#include <ArrayIO.h>
Part of API
ArrayIO is simply the conventional shorthand for "array input/output".
These global functions provide easy input and output of (possibly) large and (possibly) multi-dimensional arrays. Iteration through entire arrays is done behind the scenes, with no effort required of the client programmer. These functions are global, rather than member functions of the Array class, because of the well-known C++ requirement that the first argument to an operator function (as it is declared) is the left operand when the function is called.
IPosition shape (3,10,10,3); Array <Float> array (shape); // .\..initialize and manipulate the array.\.. cout << "result: " << array;
Effortless input/output is clearly a big win.
<linkfrom anchor="Array IO" classes="Array Vector Matrix Cube"> <here>Array IO</here> -- Input/output operators for Arrays. </linkfrom>
Definition at line 102 of file ArrayIO.h.
Public Member Functions | |
| template<class T> | |
| ostream & | operator<< (ostream &, const Array< T > &) |
| Write out an ascii representation of an array of any dimensionality. | |
| template<class T> | |
| LogIO & | operator<< (LogIO &os, const Array< T > &a) |
| Write a formatted copy of the array to the LogIO output object. | |
| template<class T> | |
| Bool | readArrayBlock (istream &s, Bool &trans, IPosition &p, Block< T > &x, const IPosition *ip=0, Bool it=False) |
| General read support function for matrices. | |
| template<class T> | |
| istream & | operator>> (istream &s, Array< T > &x) |
| Read an ascii representation of an array. | |
| template<class T> | |
| Bool | read (istream &s, Array< T > &x, const IPosition *ip=0, Bool it=False) |
| template<class T> | |
| AipsIO & | operator<< (AipsIO &, const Array< T > &) |
| Read or write a binary representation of an Array to a file. | |
| template<class T> | |
| void | putArray (AipsIO &, const Array< T > &, const Char *name) |
| template<class T> | |
| AipsIO & | operator>> (AipsIO &, Array< T > &) |
| ostream& casa::ArrayIO_global_functions_Array_IO::operator<< | ( | ostream & | , | |
| const Array< T > & | ||||
| ) |
Write out an ascii representation of an array of any dimensionality.
Arrays of dimensionality 3 or greater are written out vector by vector, preceeded by the position of the start of the vector. If the origin of the array isn't zero it is printed. The shape of the array is always printed.
| LogIO& casa::ArrayIO_global_functions_Array_IO::operator<< | ( | LogIO & | os, | |
| const Array< T > & | a | |||
| ) |
Write a formatted copy of the array to the LogIO output object.
Merely calls the ostream operator<< in turn.
| istream& casa::ArrayIO_global_functions_Array_IO::operator>> | ( | istream & | s, | |
| Array< T > & | x | |||
| ) |
Read an ascii representation of an array.
All types with an << operator can be handled. The basic format of the input should be:
[element element element .\..\.]
, and ] without blanks preceding has been made; but slows routines down The default input is a vector of unspecified length. The input shape can be changed by pre-pending the input with: {[shape]}
{T[shape]}
| Bool casa::ArrayIO_global_functions_Array_IO::read | ( | istream & | s, | |
| Array< T > & | x, | |||
| const IPosition * | ip = 0, |
|||
| Bool | it = False | |||
| ) |
| Bool casa::ArrayIO_global_functions_Array_IO::readArrayBlock | ( | istream & | s, | |
| Bool & | trans, | |||
| IPosition & | p, | |||
| Block< T > & | x, | |||
| const IPosition * | ip = 0, |
|||
| Bool | it = False | |||
| ) |
General read support function for matrices.
In principle these functions will not be used by general user, but could be. They can be used by Array type classes (like Slice, Lattice) to do the work of comparable input functions as the one for Arrays. In these functions p is the shape of the returned Block x. This shape is either deduced from the user specification; made equal to (1, nelements) if no user shape is given; is set to ip if specified. The function will return False (and p = (0)) in the case of an invalid input element; a number of elements input not equal to ip (if specified); the shape given by user as input does not conform to ip (if given) or the number of elements input.
trans will be True if transpose asked by user; or if forced by it.
| AipsIO& casa::ArrayIO_global_functions_Array_IO::operator<< | ( | AipsIO & | , | |
| const Array< T > & | ||||
| ) |
Read or write a binary representation of an Array to a file.
Very useful for saving arrays and restoring them later.
The putArray function is put in for forwards compatibility of images (so new images can be read with old release).
| void casa::ArrayIO_global_functions_Array_IO::putArray | ( | AipsIO & | , | |
| const Array< T > & | , | |||
| const Char * | name | |||
| ) |
| AipsIO& casa::ArrayIO_global_functions_Array_IO::operator>> | ( | AipsIO & | , | |
| Array< T > & | ||||
| ) |
1.5.1