Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

SVectorRange Class Reference

#include <svector.hpp>

Inheritance diagram for SVectorRange:

Inheritance graph
[legend]
Collaboration diagram for SVectorRange:

Collaboration graph
[legend]
List of all members.

Detailed Description

Subvector.

This class provides the possibility to select a part within a vector, which can be removed or replaced by anoter vector or even copied.

Definition at line 165 of file svector.hpp.

Public Member Functions

 SVectorRange (const SVectorRef &vec, int a_idx=0, int a_len=-1)
 The constructor.
 ~SVectorRange ()
 The destructor.
SVectorRef Copy (bool resizeable) const
 Make a vector as a copy of the range.
SVectorRef Copy () const
 Make a vector as a copy of the range.
void Erase ()
 Exclude the range from the source vector.
void Replace (const SVectorRange &other)
 Replace the range with another vector.
const SReferenceoperator[] (int index) const
 The index operator.
SReferenceoperator[] (int index)
 The index operator.
Tp * GetPtr () const
 Get the appropriately typed pointer to the referenced object.
Tp & operator * () const
 Dereference (returns a reference to the pointe object).
Tp * operator-> () const
 Select a field/method of the referenced object.
SReferenceAddAnotherItemToList (const SReference &right)
 Add item to list.
SReferenceChangeListEnd (const SReference &new_last)
 Make/change dotted list.
SReference MakeCons (const SReference &right) const
 Make a cons.
SReferenceoperator, (const SReference &r)
 List composing operation.
SReferenceoperator|| (const SReference &t)
 dotted list composing operation
SReference operator^ (const SReference &t) const
 CONS operation.
bool operator== (const SReference &other) const
 Equality is just pointer comparision.
bool operator== (const SExpression *other) const
 Equality is just pointer comparision.
bool operator!= (const SReference &other) const
 Non-equality is just pointer comparision.
bool operator!= (const SExpression *other) const
 Non-equality is just pointer comparision.
bool IsEql (const SReference &other) const
bool IsEqual (const SReference &other) const
SReferenceCar () const
SReferenceCdr () const
SReferenceCCar () const
SReferenceCCdr () const
intelib_float_t GetFloat () const
intelib_integer_t GetInt () const
const char * GetString () const
char GetSingleChar () const
template<class Tp>
Tp * DynamicCastGetPtr () const
template<class Tp>
Tp * SimpleCastGetPtr () const
SReference Clone () const
SReference CopyList () const
SReference CopyTree () const
bool IsEmptyList () const


Constructor & Destructor Documentation

SVectorRange::SVectorRange const SVectorRef vec,
int  a_idx = 0,
int  a_len = -1
 

The constructor.

Parameters:
vec is the vector
a_idx is the starting index for the range
a_len is the length for the range

Definition at line 173 of file svector.hpp.

SVectorRange::~SVectorRange  ) 
 

The destructor.

Definition at line 181 of file svector.hpp.


Member Function Documentation

SVectorRef SVectorRange::Copy bool  resizeable  )  const
 

Make a vector as a copy of the range.

Parameters:
resizeable specifies if the new vector should be resizeable

Definition at line 163 of file svector.cpp.

SVectorRef SVectorRange::Copy  )  const
 

Make a vector as a copy of the range.

Note:
Resizeability of the newly-created vector is inherited from the source vector

Definition at line 170 of file svector.cpp.

void SVectorRange::Erase  ) 
 

Exclude the range from the source vector.

Definition at line 177 of file svector.cpp.

void SVectorRange::Replace const SVectorRange other  ) 
 

Replace the range with another vector.

Definition at line 185 of file svector.cpp.

const SReference& SVectorRef::operator[] int  index  )  const [inherited]
 

The index operator.

Definition at line 153 of file svector.hpp.

References GenericSReference< Tp, X_wrongtype >::GetPtr().

SReference& SVectorRef::operator[] int  index  )  [inherited]
 

The index operator.

Reimplemented in SMatrixRef< dim >, and SMatrixRef< 2 >.

Definition at line 157 of file svector.hpp.

References GenericSReference< Tp, X_wrongtype >::GetPtr().

template<class Tp, class X_wrongtype>
Tp* GenericSReference< Tp, X_wrongtype >::GetPtr  )  const [inherited]
 

Get the appropriately typed pointer to the referenced object.

Reimplemented from SReference.

Definition at line 65 of file gensref.hpp.

Referenced by SString::c_str(), SExpressionHashPackage::FindSymbol(), SchExpressionContext::GetAllSymbols(), LExpressionContext::GetAllSymbols(), SchExpressionContext::GetBinding(), LExpressionContext::GetBinding(), LExpressionContext::GetFunBinding(), GenericSReference< LExpressionContext, IntelibX_lisp_not_a_context >::operator *(), SStreamTextInput::operator->(), GenericSReference< LExpressionContext, IntelibX_lisp_not_a_context >::operator->(), SVectorRef::operator[](), SVectorRef::SVectorRef(), and SExpressionVector::TextRepresentation().

template<class Tp, class X_wrongtype>
Tp& GenericSReference< Tp, X_wrongtype >::operator *  )  const [inherited]
 

Dereference (returns a reference to the pointe object).

Reimplemented from GenericReference< SExpression >.

Definition at line 69 of file gensref.hpp.

template<class Tp, class X_wrongtype>
Tp* GenericSReference< Tp, X_wrongtype >::operator->  )  const [inherited]
 

Select a field/method of the referenced object.

Reimplemented from GenericReference< SExpression >.

Definition at line 71 of file gensref.hpp.

SReference& SReference::AddAnotherItemToList const SReference right  )  [inherited]
 

Add item to list.

For a list, adds another dotted pair to its end. For non-lists, the result is undefined.

Referenced by SReference::operator,().

SReference& SReference::ChangeListEnd const SReference new_last  )  [inherited]
 

Make/change dotted list.

  • For a proper (non-dotted) list, replaces its terminating () with the given argument, therefore producing a dotted list.
    • for a dotted list, changes it's terminating value (the value which is after the dot)
    • for other types, the result is undefined

Referenced by SReference::operator||().

SReference SReference::MakeCons const SReference right  )  const [inherited]
 

Make a cons.

Produces a cons (dotted pair) using *this as the CAR and the given argument as the CDR

Referenced by SReference::operator^().

SReference& SReference::operator, const SReference r  )  [inherited]
 

List composing operation.

Operator "," is used to construct lists naturally, like this: (L| 1, 2, 3)

See also:
LListConstructor class

Reimplemented in SBacklinkRef, SDoubleListRef, LReference, and SchReference.

Definition at line 541 of file sexpress.hpp.

References SReference::AddAnotherItemToList().

Referenced by SchReference::operator,(), and LReference::operator,().

SReference& SReference::operator|| const SReference t  )  [inherited]
 

dotted list composing operation

Operator "||" is used to construct dotted lists, like this: ((L| 1, 2, 3) || 4) // (1 2 3 . 4)

See also:
LListConstructor class

Reimplemented in LReference, and SchReference.

Definition at line 548 of file sexpress.hpp.

References SReference::ChangeListEnd().

Referenced by SchReference::operator||(), and LReference::operator||().

SReference SReference::operator^ const SReference t  )  const [inherited]
 

CONS operation.

Operator "^" is used to produce conses

Definition at line 552 of file sexpress.hpp.

References SReference::MakeCons().

bool SReference::operator== const SReference other  )  const [inherited]
 

Equality is just pointer comparision.

Definition at line 556 of file sexpress.hpp.

References SReference::GetPtr().

bool SReference::operator== const SExpression other  )  const [inherited]
 

Equality is just pointer comparision.

Definition at line 562 of file sexpress.hpp.

References SReference::GetPtr().

bool SReference::operator!= const SReference other  )  const [inherited]
 

Non-equality is just pointer comparision.

Definition at line 559 of file sexpress.hpp.

References SReference::GetPtr().

bool SReference::operator!= const SExpression other  )  const [inherited]
 

Non-equality is just pointer comparision.

Definition at line 565 of file sexpress.hpp.

References SReference::GetPtr().

bool SReference::IsEql const SReference other  )  const [inherited]
 

Reimplemented in LReference, and SchReference.

Referenced by SExprsAreEql().

bool SReference::IsEqual const SReference other  )  const [inherited]
 

Reimplemented in LReference, and SchReference.

Referenced by SExprsAreEqual().

SReference& SReference::Car  )  const [inherited]
 

Referenced by LExpressionMacro::Call(), SDoubleListRange::Copy(), IntelibGenericReader::Get(), RetrieveFunctionObject(), and stack_representation().

SReference& SReference::Cdr  )  const [inherited]
 

Referenced by LExpressionMacro::Call(), SBacklinkRef::Remove(), SQueue::RemoveFirst(), RetrieveFunctionObject(), and stack_representation().

SReference& SReference::CCar  )  const [inherited]
 

SReference& SReference::CCdr  )  const [inherited]
 

intelib_float_t SReference::GetFloat  )  const [inherited]
 

Referenced by SExpressionIndirectTemplate< Tt >::Setf().

intelib_integer_t SReference::GetInt  )  const [inherited]
 

Referenced by SExpressionIndirectTemplate< Tt >::Setf().

const char* SReference::GetString  )  const [inherited]
 

Referenced by SExpressionIndirectTemplate< Tt >::Setf().

char SReference::GetSingleChar  )  const [inherited]
 

template<class Tp>
Tp * SReference::DynamicCastGetPtr  )  const [inherited]
 

Definition at line 687 of file sexpress.hpp.

References SReference::GetPtr(), IntelibTypeId::IsSubtypeOf(), and SExpression::TermType().

Referenced by LispLambdaBody::DoAnalyseLambdaList(), SExpressionBacklink::InsertAfter(), SBacklinkRef::operator,(), pretty_print(), IntelibGenericReader::Read(), SBacklinkRef::Remove(), SExpressionBacklink::RemoveNext(), RetrieveFunctionObject(), SQueue::SQueue(), and SExpressionBacklink::~SExpressionBacklink().

template<class Tp>
Tp * SReference::SimpleCastGetPtr  )  const [inherited]
 

Definition at line 695 of file sexpress.hpp.

References SReference::GetPtr(), and SExpression::TermType().

SReference SReference::Clone  )  const [inherited]
 

Referenced by SExpressionVector::Clone(), and SExpressionHashTable::Clone().

SReference SReference::CopyList  )  const [inherited]
 

SReference SReference::CopyTree  )  const [inherited]
 

bool SReference::IsEmptyList  )  const [inherited]
 

Referenced by SBacklinkRef::Begin(), LExpressionMacro::Call(), SExpressionBacklink::ConnectBack(), SDoubleListRange::Copy(), SBacklinkRef::End(), SExpressionDoubleList::Exclude(), SDoubleListRange::Exhausted(), SExpressionDoubleList::Iterator::Exhausted(), SDoubleListRange::GetLast(), SBacklinkRef::GetPtr(), SBacklinkRef::InsertAfter(), SExpressionDoubleList::InsertListAfter(), SExpressionDoubleList::Iterator::IsBegin(), SQueue::IsEmpty(), SExpressionDoubleList::Iterator::IsEnd(), SBacklinkRef::operator++(), SBacklinkRef::operator,(), SDoubleListRange::RightEndMover::operator--(), SDoubleListRange::LeftEndMover::operator--(), SBacklinkRef::operator--(), pretty_print(), SExpressionDoubleList::Iterator::Remove(), SBacklinkRef::Remove(), SExpressionBacklink::RemoveNext(), SQueue::SQueue(), stack_representation(), SchReference::TextRepresentation(), LReference::TextRepresentation(), and SExpressionBacklink::~SExpressionBacklink().


The documentation for this class was generated from the following files:
Generated on Tue Dec 18 00:42:59 2007 for InteLib by  doxygen 1.4.1