37 #ifndef AIMS_IO_DEFAULTITEMR_H 
   38 #define AIMS_IO_DEFAULTITEMR_H 
   61     virtual void read( std::istream & is, T& item )
 const 
   62     { 
read( is, &item, 1 ); }
 
   63     virtual void read( std::istream & is, T* pitem, 
size_t n ) 
const;
 
   65                                    bool bswap = 
false ) 
const;
 
   66     inline void read( 
const std::string &istring, T &item )
 const 
   68     inline void read( 
const std::string &istring, T *pitem, 
size_t n )
 const 
   80     virtual void read( std::istream & is, T& item ) 
const;
 
   81     virtual void read( std::istream & is, T* pitem, 
size_t n ) 
const;
 
   82     inline void read( 
const std::string &istring, T &item )
 const 
   84     inline void read( 
const std::string &istring, T *pitem, 
size_t n )
 const 
   96     virtual void read( std::istream & is, T& item )
 const 
   97     { 
read( is, &item, 1 ); }
 
   98     virtual void read( std::istream & is, T* pitem, 
size_t n ) 
const;
 
   99     inline void read( 
const std::string &istring, T &item )
 const 
  101     inline void read( 
const std::string &istring, T *pitem, 
size_t n )
 const 
  106 #ifndef DOXYGEN_HIDE_INTERNAL_CLASSES 
  109   template <
class T, 
int D>
 
  118     { 
read( is, &item, 1 ); }
 
  123                                                   bool bswap = 
false ) 
const;
 
  124     inline void read( 
const std::string &istring, T &item )
 const 
  126     inline void read( 
const std::string &istring, T *pitem, 
size_t n )
 const 
  132   template <
class T, 
int D>
 
  141     { 
read( is, &item, 1 ); }
 
  144     inline void read( 
const std::string &istring, T &item )
 const 
  146     inline void read( 
const std::string &istring, T *pitem, 
size_t n )
 const 
  153   template<
class T> ItemReader<T>* 
 
  157     if( openmode == 
"ascii" )
 
  165   template <
class T> 
inline void  
  168     is.read( (
char *) pitem, 
sizeof(T) * n );
 
  172   template <
class T> 
inline 
  175     carto::StreamUtil::skip( is, 
" \t\n\r,", 
true );
 
  180   template <
class T> 
inline 
  185     for( 
size_t i=0; i<n; ++i, ++ptr )
 
  190   template <
class T> 
inline 
  194     is.read( (
char *) pitem, 
sizeof(T) * n );
 
  195     byte* ptr = (
byte*) pitem;
 
  196     for( 
size_t k=0; k<n*
sizeof(T); k+=
sizeof(T) )
 
  197       for( 
size_t b=0; b<
sizeof(T)/2; ++b )
 
  198         std::swap( ptr[k+b], ptr[k+
sizeof(T)-1-b] );
 
  208     if( openmode == 
"ascii" )
 
  216   template <
class T, 
int D> 
inline 
  224     for( 
size_t p=0; p<n; ++p, ++ptr )
 
  226       ir.
read( is, &(*ptr)[0], D );
 
  230   template <
class T, 
int D> 
inline void  
  238     for( 
size_t p=0; p<n; ++p, ++ptr )
 
  240       ir.
read( is, &(*ptr)[0], D );
 
  258   template <> 
inline void  
  264   template <> 
inline void  
  270   template <> 
inline void  
  276   template <> 
inline void  
  286     is.read( (
char *) pitem, n );
 
  295     is.read( (
char *) pitem, n );
 
  300 #if !defined(__sun__) || !defined(_CHAR_IS_SIGNED) 
  306     is.read( (
char *) pitem, n );
 
  315     is.read( (
char *) pitem, n );
 
  323     is.read( (
char *) pitem, n );
 
  324     byte *ptr = (
byte*) pitem;
 
  325     for( 
size_t k=0; k<n*
sizeof(
cfloat); k+=
sizeof(float) )
 
  326       for( 
size_t b=0; b<
sizeof(float)/2; ++b )
 
  327         std::swap( ptr[k+b], ptr[k+
sizeof(
float)-1-b] );
 
  331   template <> 
inline void  
  335     is.read( (
char *) pitem, n );
 
  336     byte* ptr = (
byte*) pitem;
 
  337     for( 
size_t k=0; k<n*
sizeof(
cdouble); k+=
sizeof(float) )
 
  338       for( 
size_t b=0; b<
sizeof(double)/2; ++b )
 
  339         std::swap( ptr[k+b], ptr[k+
sizeof(
double)-1-b] );
 
virtual ~DefaultAsciiItemReader()
void read(const std::string &istring, T *pitem, size_t n) const
void read(const std::string &istring, T &item) const
virtual void read(std::istream &is, T &item) const
void read(const std::string &istring, T &item) const
virtual ~DefaultBSwapItemReader()
void read(const std::string &istring, T *pitem, size_t n) const
virtual void read(std::istream &is, AimsVector< T, D > &item) const
virtual ~DefaultBSwapItemReader()
virtual void read(std::istream &is, T &item) const
void read(const std::string &istring, T *pitem, size_t n) const
void read(const std::string &istring, T &item) const
virtual ~DefaultItemReader()
void read(const std::string &istring, T *pitem, size_t n) const
void read(const std::string &istring, T &item) const
virtual void read(std::istream &is, AimsVector< T, D > &item) const
Default low-levels readers.
void read(const std::string &istring, T *pitem, size_t n) const
virtual ItemReader< T > * reader(const std::string &openmode="binar", bool bswap=false) const
void read(const std::string &istring, T &item) const
virtual ~DefaultItemReader()
virtual void read(std::istream &is, T &item) const
Low-level "small item" reader, used by higher-level file readers.
virtual void read(std::istream &is, T &item) const
The class for EcatSino data write operation.
std::complex< double > cdouble
std::complex< float > cfloat