AbstractLinAlgPack::VectorSpaceSubSpace Class Reference

Concrete subclass for a default sub-space of a vector. More...

#include <AbstractLinAlgPack_VectorSpaceSubSpace.hpp>

Inheritance diagram for AbstractLinAlgPack::VectorSpaceSubSpace:

[legend]
List of all members.

Overridden from VectorSpace

bool is_compatible (const VectorSpace &) const
 
bool is_in_core () const
 
index_type dim () const
 
vec_mut_ptr_t create_member () const
 
space_ptr_t clone () const
 
space_ptr_t sub_space (const Range1D &rng) const
 

Public Member Functions

 VectorSpaceSubSpace ()
 Constructs to uninitialized.
 VectorSpaceSubSpace (const space_ptr_t &full_space, const Range1D &rng)
 Calls this->initialize().
void initialize (const space_ptr_t &full_space, const Range1D &rng)
 Initialize.
void set_uninitialized ()
 Set uninitilized.
const space_ptr_tfull_space () const
 
const Range1Drng () const
 
void validate_range (const Range1D &rng) const
 Validate rng.

Detailed Description

Concrete subclass for a default sub-space of a vector.

There is not much to this subclass. It basically implements all of its methods based on the external VectorSpace interface to implement is_compatible() and sub_space() and and relys on a default subclass VectorMutableSubView to implement create_member().

The default constructor, copy constructor and assignment operator functions are allowed and have the correct behavior.

Definition at line 47 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::VectorSpaceSubSpace::VectorSpaceSubSpace  )  [inline]
 

Constructs to uninitialized.

Postconditions: see set_uninitialized().

Definition at line 126 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

AbstractLinAlgPack::VectorSpaceSubSpace::VectorSpaceSubSpace const space_ptr_t full_space,
const Range1D rng
 

Calls this->initialize().

Definition at line 37 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.


Member Function Documentation

void AbstractLinAlgPack::VectorSpaceSubSpace::initialize const space_ptr_t full_space,
const Range1D rng
 

Initialize.

Constructs a sub-space of the vector space this = space.sub_space(rng).

Preconditions:

  • full_space.get() != NULL (throw std::invalid_argument).
  • [rng.full_range() == false] rng.lbound() <= full_space->dim() (throw std::out_of_range).

Postconditions:

  • [&& rng.full_range() == true] this->dim() == full_space->dim()
  • [&& rng.full_range() == false] this->dim() == rng.size()

Parameters:
full_space [in] The original full vector space (must be full_space.get() != NULL).
rng [in] The range of element that this vector sub-space will represent.

Definition at line 42 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

void AbstractLinAlgPack::VectorSpaceSubSpace::set_uninitialized  ) 
 

Set uninitilized.

Postconditions:

Definition at line 61 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

const VectorSpace::space_ptr_t & AbstractLinAlgPack::VectorSpaceSubSpace::full_space  )  const [inline]
 

Definition at line 131 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

const Range1D & AbstractLinAlgPack::VectorSpaceSubSpace::rng  )  const [inline]
 

Definition at line 137 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

void AbstractLinAlgPack::VectorSpaceSubSpace::validate_range const Range1D rng  )  const [inline]
 

Validate rng.

Definition at line 144 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

bool AbstractLinAlgPack::VectorSpaceSubSpace::is_compatible const VectorSpace  )  const [virtual]
 

Implements AbstractLinAlgPack::VectorSpace.

Definition at line 84 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

bool AbstractLinAlgPack::VectorSpaceSubSpace::is_in_core  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::VectorSpace.

Definition at line 98 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

index_type AbstractLinAlgPack::VectorSpaceSubSpace::dim  )  const [virtual]
 

Implements AbstractLinAlgPack::VectorSpace.

Definition at line 103 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

VectorSpace::vec_mut_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::create_member  )  const [virtual]
 

Implements AbstractLinAlgPack::VectorSpace.

Definition at line 108 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

VectorSpace::space_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::clone  )  const [virtual]
 

Implements AbstractLinAlgPack::VectorSpace.

Definition at line 119 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

VectorSpace::space_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::sub_space const Range1D rng  )  const [virtual]
 

Reimplemented from AbstractLinAlgPack::VectorSpace.

Definition at line 127 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.


The documentation for this class was generated from the following files:
Generated on Thu Sep 18 12:33:54 2008 for AbstractLinAlgPack: C++ Interfaces For Vectors, Matrices And Related Linear Algebra Objects by doxygen 1.3.9.1