Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | Friends

idx_vector Class Reference

#include "idx-vector.h"

Collaboration diagram for idx_vector:
Collaboration graph
[legend]

List of all members.

Classes

class  idx_base_rep
class  idx_colon_rep
class  idx_mask_rep
class  idx_range_rep
class  idx_scalar_rep
class  idx_vector_rep

Public Types

enum  idx_class_type {
  class_invalid = -1, class_colon = 0, class_range, class_scalar,
  class_vector, class_mask
}

Public Member Functions

 idx_vector (void)
 idx_vector (octave_idx_type i)
 idx_vector (const Array< octave_idx_type > &inda)
 idx_vector (double x)
 idx_vector (const Sparse< bool > &nda)
 idx_vector (const idx_vector &a)
 idx_vector (float x)
 idx_vector (const Array< octave_idx_type > &inda, octave_idx_type ext)
 idx_vector (bool x)
template<class T >
 idx_vector (const Array< octave_int< T > > &nda)
 idx_vector (octave_idx_type start, octave_idx_type limit, octave_idx_type step=1)
 idx_vector (char c)
 idx_vector (const Array< double > &nda)
 idx_vector (const Array< float > &nda)
template<class T >
 idx_vector (octave_int< T > x)
 idx_vector (const Array< bool > &nda)
 idx_vector (const Range &r)
 ~idx_vector (void)
Array< octave_idx_typeas_array (void) const
template<class T >
octave_idx_type assign (const T *src, octave_idx_type n, T *dest) const
template<class Functor >
octave_idx_type bloop (octave_idx_type n, Functor body) const
octave_idx_type checkelem (octave_idx_type n) const
idx_vector complement (octave_idx_type n) const
void copy_data (octave_idx_type *data) const
octave_idx_type elem (octave_idx_type n) const
octave_idx_type extent (octave_idx_type n) const
template<class T >
octave_idx_type fill (const T &val, octave_idx_type n, T *dest) const
octave_idx_type freeze (octave_idx_type z_len, const char *tag, bool resize_ok=false)
idx_class_type idx_class (void) const
octave_idx_type increment (void) const
template<class T >
octave_idx_type index (const T *src, octave_idx_type n, T *dest) const
idx_vector inverse_permutation (octave_idx_type n) const
bool is_colon (void) const
bool is_colon_equiv (octave_idx_type n, int) const
bool is_colon_equiv (octave_idx_type n) const
bool is_cont_range (octave_idx_type n, octave_idx_type &l, octave_idx_type &u) const
bool is_permutation (octave_idx_type n) const
bool is_range (void) const
bool is_scalar (void) const
bool is_vector (void) const
octave_idx_type length (octave_idx_type n=0) const
template<class Functor >
void loop (octave_idx_type n, Functor body) const
octave_idx_type max (void) const
bool maybe_reduce (octave_idx_type n, const idx_vector &j, octave_idx_type nj)
octave_idx_type ones_count (void) const
 operator bool (void) const
octave_idx_type operator() (octave_idx_type n) const
idx_vectoroperator= (const idx_vector &a)
octave_idx_type orig_columns (void) const
dim_vector orig_dimensions (void) const
int orig_empty (void) const
octave_idx_type orig_rows (void) const
std::ostream & print (std::ostream &os) const
const octave_idx_typeraw (void)
void sort (bool uniq=false)
idx_vector sorted (Array< octave_idx_type > &sidx) const
idx_vector sorted (bool uniq=false) const
void unconvert (idx_class_type &iclass, double &scalar, Range &range, Array< double > &array, Array< bool > &mask) const
idx_vector unmask (void) const
octave_idx_type xelem (octave_idx_type n) const

Static Public Member Functions

static idx_vector make_range (octave_idx_type start, octave_idx_type step, octave_idx_type len)

Static Public Attributes

static const idx_vector colon

Private Types

enum  direct { DIRECT }

Private Member Functions

 idx_vector (idx_base_rep *r)
void chkerr (void)

Static Private Member Functions

static idx_vector_reperr_rep (void)
static idx_vector_repnil_rep (void)

Private Attributes

idx_base_reprep

Friends

std::ostream & operator<< (std::ostream &os, const idx_vector &a)
class std::auto_ptr

Detailed Description

Definition at line 51 of file idx-vector.h.


Member Enumeration Documentation

enum idx_vector::direct [private]
Enumerator:
DIRECT 

Definition at line 157 of file idx-vector.h.

Enumerator:
class_invalid 
class_colon 
class_range 
class_scalar 
class_vector 
class_mask 

Definition at line 57 of file idx-vector.h.


Constructor & Destructor Documentation

idx_vector::idx_vector ( idx_base_rep r  )  [inline, private]

Definition at line 435 of file idx-vector.h.

idx_vector::idx_vector ( void   )  [inline]

Definition at line 469 of file idx-vector.h.

Referenced by complement(), and maybe_reduce().

idx_vector::idx_vector ( octave_idx_type  i  )  [inline]

Definition at line 472 of file idx-vector.h.

idx_vector::idx_vector ( octave_idx_type  start,
octave_idx_type  limit,
octave_idx_type  step = 1 
) [inline]

Definition at line 475 of file idx-vector.h.

idx_vector::idx_vector ( const Array< octave_idx_type > &  inda  )  [inline]

Definition at line 487 of file idx-vector.h.

idx_vector::idx_vector ( const Array< octave_idx_type > &  inda,
octave_idx_type  ext 
) [inline]

Definition at line 492 of file idx-vector.h.

idx_vector::idx_vector ( char  c  )  [inline]

Definition at line 500 of file idx-vector.h.

template<class T >
idx_vector::idx_vector ( octave_int< T >  x  )  [inline]

Definition at line 505 of file idx-vector.h.

idx_vector::idx_vector ( double  x  )  [inline]

Definition at line 507 of file idx-vector.h.

idx_vector::idx_vector ( float  x  )  [inline]

Definition at line 509 of file idx-vector.h.

idx_vector::idx_vector ( bool  x  )  [inline]

Definition at line 512 of file idx-vector.h.

template<class T >
idx_vector::idx_vector ( const Array< octave_int< T > > &  nda  )  [inline]

Definition at line 515 of file idx-vector.h.

idx_vector::idx_vector ( const Array< double > &  nda  )  [inline]

Definition at line 518 of file idx-vector.h.

idx_vector::idx_vector ( const Array< float > &  nda  )  [inline]

Definition at line 521 of file idx-vector.h.

idx_vector::idx_vector ( const Array< bool > &  nda  ) 

Definition at line 782 of file idx-vector.cc.

References Array< T >::nnz(), Array< T >::numel(), and rep.

idx_vector::idx_vector ( const Range r  )  [inline]

Definition at line 526 of file idx-vector.h.

idx_vector::idx_vector ( const Sparse< bool > &  nda  )  [inline]

Definition at line 530 of file idx-vector.h.

idx_vector::idx_vector ( const idx_vector a  )  [inline]

Definition at line 533 of file idx-vector.h.

idx_vector::~idx_vector ( void   )  [inline]

Definition at line 535 of file idx-vector.h.


Member Function Documentation

Array< octave_idx_type > idx_vector::as_array ( void   )  const
template<class T >
octave_idx_type idx_vector::assign ( const T *  src,
octave_idx_type  n,
T *  dest 
) const [inline]
template<class Functor >
octave_idx_type idx_vector::bloop ( octave_idx_type  n,
Functor  body 
) const [inline]
octave_idx_type idx_vector::checkelem ( octave_idx_type  n  )  const [inline]

Definition at line 565 of file idx-vector.h.

void idx_vector::chkerr ( void   )  [inline, private]

Definition at line 455 of file idx-vector.h.

Referenced by freeze().

idx_vector idx_vector::complement ( octave_idx_type  n  )  const
void idx_vector::copy_data ( octave_idx_type data  )  const
octave_idx_type idx_vector::elem ( octave_idx_type  n  )  const [inline]

Definition at line 1028 of file idx-vector.h.

Referenced by increment().

static idx_vector_rep* idx_vector::err_rep ( void   )  [inline, static, private]

Definition at line 446 of file idx-vector.h.

References idx_vector::idx_base_rep::err.

octave_idx_type idx_vector::extent ( octave_idx_type  n  )  const [inline]
template<class T >
octave_idx_type idx_vector::fill ( const T &  val,
octave_idx_type  n,
T *  dest 
) const [inline]
octave_idx_type idx_vector::freeze ( octave_idx_type  z_len,
const char tag,
bool  resize_ok = false 
)

Definition at line 1285 of file idx-vector.cc.

References chkerr(), idx_vector::idx_base_rep::err, extent(), length(), and rep.

idx_class_type idx_vector::idx_class ( void   )  const [inline]
octave_idx_type idx_vector::increment ( void   )  const
template<class T >
octave_idx_type idx_vector::index ( const T *  src,
octave_idx_type  n,
T *  dest 
) const [inline]
idx_vector idx_vector::inverse_permutation ( octave_idx_type  n  )  const
bool idx_vector::is_colon ( void   )  const [inline]
bool idx_vector::is_colon_equiv ( octave_idx_type  n,
int   
) const [inline]

Definition at line 1031 of file idx-vector.h.

References is_colon_equiv().

Referenced by is_colon_equiv().

bool idx_vector::is_colon_equiv ( octave_idx_type  n  )  const [inline]
bool idx_vector::is_cont_range ( octave_idx_type  n,
octave_idx_type l,
octave_idx_type u 
) const
bool idx_vector::is_permutation ( octave_idx_type  n  )  const
bool idx_vector::is_range ( void   )  const [inline]
bool idx_vector::is_scalar ( void   )  const [inline]
bool idx_vector::is_vector ( void   )  const
octave_idx_type idx_vector::length ( octave_idx_type  n = 0  )  const [inline]
template<class Functor >
void idx_vector::loop ( octave_idx_type  n,
Functor  body 
) const [inline]
static idx_vector idx_vector::make_range ( octave_idx_type  start,
octave_idx_type  step,
octave_idx_type  len 
) [inline, static]

Definition at line 481 of file idx-vector.h.

Referenced by convolve(), and sub2ind().

octave_idx_type idx_vector::max ( void   )  const [inline]

Definition at line 1042 of file idx-vector.h.

Referenced by idx_vector::idx_vector_rep::idx_vector_rep().

bool idx_vector::maybe_reduce ( octave_idx_type  n,
const idx_vector j,
octave_idx_type  nj 
)
static idx_vector_rep* idx_vector::nil_rep ( void   )  [inline, static, private]

Definition at line 439 of file idx-vector.h.

octave_idx_type idx_vector::ones_count ( void   )  const

Definition at line 1299 of file idx-vector.cc.

References is_colon(), length(), and xelem().

idx_vector::operator bool ( void   )  const [inline]

Definition at line 577 of file idx-vector.h.

octave_idx_type idx_vector::operator() ( octave_idx_type  n  )  const [inline]

Definition at line 568 of file idx-vector.h.

idx_vector& idx_vector::operator= ( const idx_vector a  )  [inline]

Definition at line 541 of file idx-vector.h.

References idx_vector::idx_base_rep::count, and rep.

octave_idx_type idx_vector::orig_columns ( void   )  const [inline]

Definition at line 603 of file idx-vector.h.

dim_vector idx_vector::orig_dimensions ( void   )  const [inline]
int idx_vector::orig_empty ( void   )  const [inline]

Definition at line 606 of file idx-vector.h.

octave_idx_type idx_vector::orig_rows ( void   )  const [inline]

Definition at line 600 of file idx-vector.h.

std::ostream& idx_vector::print ( std::ostream &  os  )  const [inline]

Definition at line 611 of file idx-vector.h.

const octave_idx_type * idx_vector::raw ( void   ) 
void idx_vector::sort ( bool  uniq = false  )  [inline]

Definition at line 1037 of file idx-vector.h.

idx_vector idx_vector::sorted ( bool  uniq = false  )  const [inline]
idx_vector idx_vector::sorted ( Array< octave_idx_type > &  sidx  )  const [inline]

Definition at line 595 of file idx-vector.h.

void idx_vector::unconvert ( idx_class_type iclass,
double scalar,
Range range,
Array< double > &  array,
Array< bool > &  mask 
) const
idx_vector idx_vector::unmask ( void   )  const
octave_idx_type idx_vector::xelem ( octave_idx_type  n  )  const [inline]

Definition at line 562 of file idx-vector.h.

Referenced by Array< T >::assign(), Array< T >::index(), is_permutation(), and ones_count().


Friends And Related Function Documentation

std::ostream& operator<< ( std::ostream &  os,
const idx_vector a 
) [friend]

Definition at line 613 of file idx-vector.h.

friend class std::auto_ptr [friend]

Definition at line 67 of file idx-vector.h.


Member Data Documentation

const idx_vector idx_vector::colon [static]

The documentation for this class was generated from the following files:
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines