MOOCHO (Single Doxygen Collection) Version of the Day
Public Member Functions | Private Attributes
AbstractLinAlgPack::VectorSpaceSubSpace Class Reference

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

#include <AbstractLinAlgPack_VectorSpaceSubSpace.hpp>

Inheritance diagram for AbstractLinAlgPack::VectorSpaceSubSpace:
Inheritance graph
[legend]

List of all members.

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.

Private Attributes

space_ptr_t full_space_
 If space_.get() == NULL, then uninitalized (dim == 0)
Range1D rng_
 The range of elements from this space to represent!

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
 

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 60 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.


Constructor & Destructor Documentation

AbstractLinAlgPack::VectorSpaceSubSpace::VectorSpaceSubSpace ( ) [inline]

Constructs to uninitialized.

Postconditions: see set_uninitialized().

Definition at line 139 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

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

Calls this->initialize().

Definition at line 50 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 55 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

void AbstractLinAlgPack::VectorSpaceSubSpace::set_uninitialized ( )

Set uninitilized.

Postconditions:

Definition at line 74 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

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

Definition at line 144 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

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

Definition at line 150 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

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

Validate rng.

Definition at line 157 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

bool AbstractLinAlgPack::VectorSpaceSubSpace::is_compatible ( const VectorSpace another_space) const [virtual]
bool AbstractLinAlgPack::VectorSpaceSubSpace::is_in_core ( ) const [virtual]

Reimplemented from AbstractLinAlgPack::VectorSpace.

Definition at line 111 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.

index_type AbstractLinAlgPack::VectorSpaceSubSpace::dim ( ) const [virtual]
VectorSpace::vec_mut_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::create_member ( ) const [virtual]
VectorSpace::space_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::clone ( ) const [virtual]
VectorSpace::space_ptr_t AbstractLinAlgPack::VectorSpaceSubSpace::sub_space ( const Range1D rng) const [virtual]

Reimplemented from AbstractLinAlgPack::VectorSpace.

Definition at line 140 of file AbstractLinAlgPack_VectorSpaceSubSpace.cpp.


Member Data Documentation

If space_.get() == NULL, then uninitalized (dim == 0)

Definition at line 130 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.

The range of elements from this space to represent!

Definition at line 131 of file AbstractLinAlgPack_VectorSpaceSubSpace.hpp.


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