Signal/Geometry Processing Library (SPL)  1.1.24
Array2.hpp File Reference

This file contains the Array2 template class and its supporting code. More...

#include <SPL/config.hpp>
#include <iostream>
#include <iomanip>
#include <fstream>
#include <vector>
#include <cassert>
#include <iterator>
#include <algorithm>
#include <numeric>
#include <boost/iterator/iterator_facade.hpp>
#include <SPL/pnmCodec.hpp>
#include <SPL/misc.hpp>

Go to the source code of this file.

Classes

class  SPL::Array2< T >
 A two-dimensional array class with lazy copying and reference counting. More...
 
class  SPL::Array2< T >
 A two-dimensional array class with lazy copying and reference counting. More...
 

Macros

#define SPL_ARRAY2_INLINE   inline
 Defining this symbol will enable extra code for debugging. More...
 

Typedefs

typedef Array2< double > SPL::RealArray2
 A two-dimensional array with real elements. More...
 
typedef Array2< int > SPL::IntArray2
 A two-dimensional array with integer elements. More...
 

Functions

template<class T >
std::ostream & SPL::operator<< (std::ostream &out, const Array2< T > &a)
 Output an array to the specified stream. More...
 
template<class T >
std::istream & SPL::operator>> (std::istream &in, Array2< T > &a)
 Input an array from the specified stream. More...
 
template<class T >
Array2< T > SPL::transpose (const Array2< T > &a)
 Get the transpose of the array. More...
 
template<class T >
bool SPL::operator== (const Array2< T > &a, const Array2< T > &b)
 Test two arrays for equality. More...
 
template<class T >
bool SPL::operator!= (const Array2< T > &a, const Array2< T > &b)
 Test two arrays for inequality. More...
 
template<class T >
int SPL::encodePnm (std::ostream &outStream, const std::vector< Array2< T > > &comps, int maxVal, bool sgnd, bool binaryFormat=true)
 Output the array as an image in the PNM format. More...
 
template<class T >
int SPL::encodePbm (std::ostream &outStream, const Array2< T > &bits, bool binaryFormat=true)
 Output the array as an image in the PNM format (PBM type). More...
 
template<class T >
int SPL::encodePgm (std::ostream &outStream, const Array2< T > &gray, int maxVal, bool sgnd, bool binaryFormat=true)
 Output the array as an image in the PNM format (PGM type). More...
 
template<class T >
int SPL::encodePpm (std::ostream &outStream, const Array2< T > &red, const Array2< T > &green, const Array2< T > &blue, int maxVal, bool sgnd, bool binaryFormat=true)
 Output the array as an image in the PNM format (PPM type). More...
 
template<class T >
int SPL::decodePnm (std::istream &inStream, std::vector< Array2< T > > &comps, int &maxVal, bool &sgnd)
 Input an array as an image in the PNM format. More...
 
template<class T >
int SPL::decodePbm (std::istream &inStream, Array2< T > &bits)
 Input an array as an image in the PNM format. More...
 
template<class T >
int SPL::decodePgm (std::istream &inStream, Array2< T > &gray, int &maxVal, bool &sgnd)
 Input an array as an image in the PNM format. More...
 
template<class T >
int SPL::decodePpm (std::istream &inStream, Array2< T > &red, Array2< T > &green, Array2< T > &blue, int &maxVal, bool &sgnd)
 Input an array as an image in the PNM format. More...
 

Detailed Description

This file contains the Array2 template class and its supporting code.

Macro Definition Documentation

#define SPL_ARRAY2_INLINE   inline

Defining this symbol will enable extra code for debugging.

Allow the inlining of functions.