Arageli::vector< T, REFCNT > Class Template Reference

Template class vector definition. More...

#include <vector.hpp>

List of all members.

Assignments.

void assign ()
 Makes vector empty.
void assign_fromsize (size_type size_a)
 Makes zero-vector with size_a length.
void assign_fromstr (const char *s)
 Parses s as a vector as usual.
template<typename Vec>
void assign_fromvec (const Vec &vec)
 Makes copy of the argument.
template<typename X>
void assign (const X &x)
 Mixed assignment: by a size, from a string, or from another vector.
template<typename X>
vectoroperator= (const X &x)
 Makes vector from x, where X can be a value, string or some vector.
template<typename Val>
void assign_fromval (size_type size_a, const Val &val)
 Makes vector with size_a length and val as each element.
template<typename Seq>
void assign_fromseq (size_type size_a, Seq seq)
 Makes vector with size_a length and load the values from sequence seq.
template<typename X>
void assign (size_type size_a, const X &x)
 Makes vector with specific length from a value or a sequence.
template<typename Val>
void fill_fromval (const Val &val)
 Fills the vector of a value val without length change.
template<typename Seq>
void fill_fromseq (const Seq &seq)
 Fills the vector from a sequence without length change.
template<typename X>
void fill (const X &x)
 Fills the vector without length change by a value or from a sequence.

Vector element modification operators.

This group of operators applied the specified operation for each item of the vector and argument (if any). Returns reference to the vector.

template<typename UOp>
vectorapply (UOp f)
template<typename Val, typename BinAsnOp>
vectorright_apply_val (const Val &val, BinAsnOp f)
template<typename Val, typename BinAsnOp>
vectorleft_apply_val (const Val &val, BinAsnOp f)
template<typename Vec, typename BinAsnOp>
vectorright_apply_vec (const Vec &vec, BinAsnOp f)
template<typename Vec, typename BinAsnOp>
vectorleft_apply_vec (const Vec &vec, BinAsnOp f)
template<typename X, typename BinAsnOp>
vectorright_apply (const X &x, BinAsnOp f)
template<typename X, typename Binop>
vectorleft_apply (const X &x, Binop f)
template<typename Val>
vectorright_assign_plus_val (const Val &val)
template<typename Val>
vectorleft_assign_plus_val (const Val &val)
template<typename Val>
vectorassign_plus_val (const Val &val)
template<typename Vec>
vectorright_assign_plus_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_plus_vec (const Vec &vec)
template<typename Vec>
vectorassign_plus_vec (const Vec &vec)
template<typename X>
vectorright_assign_plus (const X &x)
template<typename X>
vectorleft_assign_plus (const X &x)
template<typename X>
vectorassign_plus (const X &x)
template<typename X>
vectoroperator+= (const X &x)
template<typename Val>
vectorright_assign_minus_val (const Val &val)
template<typename Val>
vectorleft_assign_minus_val (const Val &val)
template<typename Val>
vectorassign_minus_val (const Val &val)
template<typename Vec>
vectorright_assign_minus_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_minus_vec (const Vec &vec)
template<typename Vec>
vectorassign_minus_vec (const Vec &vec)
template<typename X>
vectorright_assign_minus (const X &x)
template<typename X>
vectorleft_assign_minus (const X &x)
template<typename X>
vectorassign_minus (const X &x)
template<typename X>
vectoroperator-= (const X &x)
template<typename Val>
vectorright_assign_multiplies_val (const Val &val)
template<typename Val>
vectorleft_assign_multiplies_val (const Val &val)
template<typename Val>
vectorassign_multiplies_val (const Val &val)
template<typename Vec>
vectorright_assign_multiplies_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_multiplies_vec (const Vec &vec)
template<typename Vec>
vectorassign_multiplies_vec (const Vec &vec)
template<typename X>
vectorright_assign_multiplies (const X &x)
template<typename X>
vectorleft_assign_multiplies (const X &x)
template<typename X>
vectorassign_multiplies (const X &x)
template<typename X>
vectoroperator *= (const X &x)
template<typename Val>
vectorright_assign_divides_val (const Val &val)
template<typename Val>
vectorleft_assign_divides_val (const Val &val)
template<typename Val>
vectorassign_divides_val (const Val &val)
template<typename Vec>
vectorright_assign_divides_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_divides_vec (const Vec &vec)
template<typename Vec>
vectorassign_divides_vec (const Vec &vec)
template<typename X>
vectorright_assign_divides (const X &x)
template<typename X>
vectorleft_assign_divides (const X &x)
template<typename X>
vectorassign_divides (const X &x)
template<typename X>
vectoroperator/= (const X &x)
template<typename Val>
vectorright_assign_modulus_val (const Val &val)
template<typename Val>
vectorleft_assign_modulus_val (const Val &val)
template<typename Val>
vectorassign_modulus_val (const Val &val)
template<typename Vec>
vectorright_assign_modulus_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_modulus_vec (const Vec &vec)
template<typename Vec>
vectorassign_modulus_vec (const Vec &vec)
template<typename X>
vectorright_assign_modulus (const X &x)
template<typename X>
vectorleft_assign_modulus (const X &x)
template<typename X>
vectorassign_modulus (const X &x)
template<typename X>
vectoroperator%= (const X &x)
template<typename Val>
vectorright_assign_bitwise_or_val (const Val &val)
template<typename Val>
vectorleft_assign_bitwise_or_val (const Val &val)
template<typename Val>
vectorassign_bitwise_or_val (const Val &val)
template<typename Vec>
vectorright_assign_bitwise_or_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_bitwise_or_vec (const Vec &vec)
template<typename Vec>
vectorassign_bitwise_or_vec (const Vec &vec)
template<typename X>
vectorright_assign_bitwise_or (const X &x)
template<typename X>
vectorleft_assign_bitwise_or (const X &x)
template<typename X>
vectorassign_bitwise_or (const X &x)
template<typename X>
vectoroperator|= (const X &x)
template<typename Val>
vectorright_assign_bitwise_and_val (const Val &val)
template<typename Val>
vectorleft_assign_bitwise_and_val (const Val &val)
template<typename Val>
vectorassign_bitwise_and_val (const Val &val)
template<typename Vec>
vectorright_assign_bitwise_and_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_bitwise_and_vec (const Vec &vec)
template<typename Vec>
vectorassign_bitwise_and_vec (const Vec &vec)
template<typename X>
vectorright_assign_bitwise_and (const X &x)
template<typename X>
vectorleft_assign_bitwise_and (const X &x)
template<typename X>
vectorassign_bitwise_and (const X &x)
template<typename X>
vectoroperator &= (const X &x)
template<typename Val>
vectorright_assign_bitwise_xor_val (const Val &val)
template<typename Val>
vectorleft_assign_bitwise_xor_val (const Val &val)
template<typename Val>
vectorassign_bitwise_xor_val (const Val &val)
template<typename Vec>
vectorright_assign_bitwise_xor_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_bitwise_xor_vec (const Vec &vec)
template<typename Vec>
vectorassign_bitwise_xor_vec (const Vec &vec)
template<typename X>
vectorright_assign_bitwise_xor (const X &x)
template<typename X>
vectorleft_assign_bitwise_xor (const X &x)
template<typename X>
vectorassign_bitwise_xor (const X &x)
template<typename X>
vectoroperator^= (const X &x)
template<typename Val>
vectorright_assign_shift_left_val (const Val &val)
template<typename Val>
vectorleft_assign_shift_left_val (const Val &val)
template<typename Val>
vectorassign_shift_left_val (const Val &val)
template<typename Vec>
vectorright_assign_shift_left_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_shift_left_vec (const Vec &vec)
template<typename Vec>
vectorassign_shift_left_vec (const Vec &vec)
template<typename X>
vectorright_assign_shift_left (const X &x)
template<typename X>
vectorleft_assign_shift_left (const X &x)
template<typename X>
vectorassign_shift_left (const X &x)
template<typename X>
vectoroperator<<= (const X &x)
template<typename Val>
vectorright_assign_shift_right_val (const Val &val)
template<typename Val>
vectorleft_assign_shift_right_val (const Val &val)
template<typename Val>
vectorassign_shift_right_val (const Val &val)
template<typename Vec>
vectorright_assign_shift_right_vec (const Vec &vec)
template<typename Vec>
vectorleft_assign_shift_right_vec (const Vec &vec)
template<typename Vec>
vectorassign_shift_right_vec (const Vec &vec)
template<typename X>
vectorright_assign_shift_right (const X &x)
template<typename X>
vectorleft_assign_shift_right (const X &x)
template<typename X>
vectorassign_shift_right (const X &x)
template<typename X>
vectoroperator>>= (const X &x)

Modificatory operations: inserting and erasing.

template<typename Val>
iterator insert_fromval (iterator pos, const Val &val)
 Inserts item with value 'val' before item 'pos' (it's iterator).
template<typename Val>
void insert_fromval (size_type pos, const Val &val)
 Inserts item with value 'val' before item 'pos' (it's index).
template<typename Vec>
iterator insert_fromvec (iterator pos, const Vec &vec)
template<typename Vec>
void insert_fromvec (size_type pos, const Vec &vec)
template<typename Str>
iterator insert_fromstr (iterator pos, const Str &str)
template<typename Str>
void insert_fromstr (size_type pos, const Str &str)
template<typename X>
iterator insert (iterator pos, const X &x)
template<typename X>
void insert (size_type pos, const X &x)
template<typename Val>
iterator insert_fromval (iterator pos, size_type size_a, const Val &val)
template<typename Val>
void insert_fromval (size_type pos, size_type size_a, const Val &val)
template<typename Seq>
iterator insert_fromseq (iterator pos, size_type size_a, const Seq &seq)
template<typename Seq>
void insert_fromseq (size_type pos, size_type size_a, const Seq &seq)
template<typename X>
void insert (size_type pos, size_type size_a, const X &x)
iterator erase (iterator pos)
 Deletes item by iterator 'pos'.
void erase (size_type pos)
 Deletes item by index 'pos'.
void erase (iterator first, iterator last)
 Deletes items in iterator range [first, last).
void erase (size_type pos, size_type n)
 Deletes items beginning from index 'pos' and next 'n' items.
void push_back (const T &val)
 Inserts 'val' to back of the vector.
void push_front (const T &val)
 Inserts 'val' to front of the vector.
void pop_back ()
void pop_front ()
template<typename T2>
void remove (const T2 &v)
 Removes from vector all elements that is equal to v.
template<typename Fu>
void remove_if (Fu f)
 Removes from vector all elements for that f returns true.

Public Types

Standard type definition.
typedef Rep::value_type value_type
 The item type. It is T.
typedef Rep::value_type element_type
 The item type. It is T.
typedef Rep::reference reference
 Lvalue of item type.
typedef Rep::const_reference const_reference
 Const lvalue of item type.
typedef Rep::size_type size_type
 Unsigned integer type for size and absolute index representation.
typedef Rep::difference_type difference_type
 Signed integer type for offsets and relative index representation.
typedef Rep::pointer pointer
 Pointer to const item type.
typedef Rep::const_pointer const_pointer
 Pointer to item type.
typedef Rep::iterator iterator
 Iterator type.
typedef Rep::const_iterator const_iterator
 Const iterator type.

Public Member Functions

size_type size () const
 The number of items in the vector.
size_type length () const
 The number of items in the vector.
bool is_empty () const
 Returns true if the vector is empty.
bool is_null () const
 Returns true if the vector is null-vector.
bool is_unit () const
 Returns true if the vector is unit-vector.
bool is_opposite_unit () const
 Returns true if the vector is opposite unit-vector.
size_type capacity () const
 Size of the storage.
void reserve (size_type n)
 Reserve n bytes of memory to store vector items if n < size(), otherwise do nothing.
bool pack ()
 Shrink the storage size to eliminate unused cells of the memory.
vectoropposite ()
 Makes opposite vector.
vectorinverse ()
 Makes inversed vector.
vectorbitwise_not ()
 Makes bitwise inversed vector.
vectorlogical_not ()
 Makes logical negate of the vector.
void resize (size_type sz)
 Alternates size of this vector.
vector operator- () const
 Returns vector with opposite values of items of this vector.
const vectoroperator+ () const
 Returns reference to this vector. For sameness only.
vector operator~ () const
 Returns vector with bitwise inverted of each item of this vector.
bool operator! () const
 Returns vector with results of applying operator! for each item of this vector.
vectoroperator++ ()
vector operator++ (int)
vectoroperator-- ()
vector operator-- (int)
bool unique ()
 Makes an individual representation for this object.
bool unique_clear ()
 Makes an individual or a clean individual representation for this object.
Constructors.
 vector ()
 Creates empty vector, i.e. vector that contains 0 items.
 vector (std::size_t size_a, const fromsize_t &select)
 Creates vector sized by 'size_a' with values factory<T>::null().
 vector (const char *s, const fromstr_t &select)
 Creates vector from string noted by usual rules for vectors.
template<typename Vec>
 vector (const Vec &vec, const fromvec_t &select)
 Creates vector as a copy of another vector-like structure.
template<typename X>
 vector (const X &x)
 Mixed constructor: creates from a string, by a size, or from another vector.
template<typename Val>
 vector (std::size_t size_a, const Val &val, const fromval_t &select)
 Creates vector by size size_a with each element equals val.
template<typename Seq>
 vector (std::size_t size_a, const Seq &seq, const fromseq_t &select)
 Creates vector from a sequence by size size_a.
template<typename X>
 vector (std::size_t size_a, const X &x)
 Mixed constructor: creates from a value or from a sequence.
const_reference el (size_type i) const
 Accesses to vector item by index 'i'. Constant form.
reference el (size_type i)
 Accesses to vector item by index 'i'. Non-constant form.
const_reference at (size_type i) const
 Accesses to vector item by index 'i'. Constant form.
reference at (size_type i)
 Accesses to vector item by index 'i'. Non-constant form.
value_type take (size_type i)
 Erases element at the position i from the vector and returns its value.
template<typename Vec>
indexed_subvector< const vector,
Vec > 
subvector (const Vec &vec) const
template<typename Vec>
indexed_subvector< vector,
Vec > 
subvector (const Vec &vec)
template<typename Vec>
indexed_subvector< const vector,
Vec > 
subvector_at (const Vec &vec) const
template<typename Vec>
indexed_subvector< vector,
Vec > 
subvector_at (const Vec &vec)
template<typename X>
binary_function_traits< function_tag::subscript,
const vector, X >::result_type 
operator[] (const X &x) const
 Accesses to vector item by index 'i'. Constant form.
template<typename X>
binary_function_traits< function_tag::subscript,
vector, X >::result_type 
operator[] (const X &x)
 Accesses to vector item by index 'i'. Non-constant form.
template<typename X>
binary_function_traits< function_tag::parentheses_1,
const vector, X >::result_type 
operator() (const X &x) const
 Accesses to vector item by index 'i'. Constant form.
template<typename X>
binary_function_traits< function_tag::parentheses_1,
vector, X >::result_type 
operator() (const X &x)
 Accesses to vector item by index 'i'. Non-constant form.
const_reference front () const
reference front ()
const_reference back () const
reference back ()
template<typename SV, typename V>
V & take_subvector (const SV &sv, V &res)
 Copies specified subvector and erases it from the original.
template<typename SV>
vector< T, true > take_subvector (const SV &sv)
 Copies specified subvector as the result and erases it from the original.
template<typename SV, typename V>
V & copy_subvector (const SV &sv, V &res) const
 Copies specified subvector without alternating of the original.
template<typename SV>
vector< T, true > copy_subvector (const SV &sv) const
 Copies specified subvector without alternating of the original.
template<typename SV>
void erase_subvector (const SV &sv)
 Erases subvector.
Access via iterators.
iterator begin ()
 Returns iterator on begin of items sequence. Non-constant form.
iterator end ()
 Returns iterator on end of items sequence. Non-constant form.
const_iterator begin () const
 Returns iterator on begin of items sequence. Constant form.
const_iterator end () const
 Returns iterator on end of items sequence. Constant form.
Swap utilities.
void swap_els (iterator x, iterator y)
 Swaps each other two items of the vector at iterators 'x' and 'y'.
void swap_els (size_type xpos, size_type ypos)
 Swaps each other two items of the vector at indexes 'x' and 'y'.
template<typename T1, bool REFCNT1>
void swap (vector< T1, REFCNT1 > &x)
 Swaps this vector with x without actually coping (if possible).

Static Public Attributes

static const bool refcounting = REFCNT
 Reference counting property.

Classes

struct  other_element_type
 Defines vector type with other element type and the same reference counter. More...
struct  other_element_type_refcnt
 Defines vector type with other element type ane reference counter. More...


Detailed Description

template<typename T, bool REFCNT>
class Arageli::vector< T, REFCNT >

Template class vector definition.

Parameters:
T type of vector's items
REFCNT reference counter switch

Definition at line 134 of file vector.hpp.


Member Typedef Documentation

template<typename T, bool REFCNT>
typedef Rep::const_iterator Arageli::vector< T, REFCNT >::const_iterator

Const iterator type.

Definition at line 183 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::const_pointer Arageli::vector< T, REFCNT >::const_pointer

Pointer to item type.

Definition at line 177 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::const_reference Arageli::vector< T, REFCNT >::const_reference

Const lvalue of item type.

Definition at line 164 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::difference_type Arageli::vector< T, REFCNT >::difference_type

Signed integer type for offsets and relative index representation.

Definition at line 171 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::value_type Arageli::vector< T, REFCNT >::element_type

The item type. It is T.

Definition at line 158 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::iterator Arageli::vector< T, REFCNT >::iterator

Iterator type.

Definition at line 180 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::pointer Arageli::vector< T, REFCNT >::pointer

Pointer to const item type.

Definition at line 174 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::reference Arageli::vector< T, REFCNT >::reference

Lvalue of item type.

Definition at line 161 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::size_type Arageli::vector< T, REFCNT >::size_type

Unsigned integer type for size and absolute index representation.

Can represent each non-negative value of difference_type.

Definition at line 168 of file vector.hpp.

template<typename T, bool REFCNT>
typedef Rep::value_type Arageli::vector< T, REFCNT >::value_type

The item type. It is T.

Definition at line 155 of file vector.hpp.


Constructor & Destructor Documentation

template<typename T, bool REFCNT>
Arageli::vector< T, REFCNT >::vector (  )  [inline]

Creates empty vector, i.e. vector that contains 0 items.

Definition at line 214 of file vector.hpp.

template<typename T, bool REFCNT>
Arageli::vector< T, REFCNT >::vector ( std::size_t  size_a,
const fromsize_t select 
) [inline]

Creates vector sized by 'size_a' with values factory<T>::null().

Definition at line 223 of file vector.hpp.

template<typename T, bool REFCNT>
Arageli::vector< T, REFCNT >::vector ( const char *  s,
const fromstr_t select 
) [inline]

Creates vector from string noted by usual rules for vectors.

Definition at line 227 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
Arageli::vector< T, REFCNT >::vector ( const Vec &  vec,
const fromvec_t select 
) [inline]

Creates vector as a copy of another vector-like structure.

Definition at line 232 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
Arageli::vector< T, REFCNT >::vector ( const X &  x  )  [inline]

Mixed constructor: creates from a string, by a size, or from another vector.

Definition at line 237 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
Arageli::vector< T, REFCNT >::vector ( std::size_t  size_a,
const Val &  val,
const fromval_t select 
) [inline]

Creates vector by size size_a with each element equals val.

Definition at line 244 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Seq>
Arageli::vector< T, REFCNT >::vector ( std::size_t  size_a,
const Seq &  seq,
const fromseq_t select 
) [inline]

Creates vector from a sequence by size size_a.

Parameters:
seq iterator on begin of particular secuence with init values.

Definition at line 250 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
Arageli::vector< T, REFCNT >::vector ( std::size_t  size_a,
const X &  x 
) [inline]

Mixed constructor: creates from a value or from a sequence.

Definition at line 255 of file vector.hpp.


Member Function Documentation

template<typename T, bool REFCNT>
template<typename UOp>
vector& Arageli::vector< T, REFCNT >::apply ( UOp  f  )  [inline]

Definition at line 718 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
void Arageli::vector< T, REFCNT >::assign ( size_type  size_a,
const X &  x 
) [inline]

Makes vector with specific length from a value or a sequence.

Definition at line 380 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
void Arageli::vector< T, REFCNT >::assign ( const X &  x  )  [inline]

Mixed assignment: by a size, from a string, or from another vector.

Definition at line 301 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::assign (  )  [inline]

Makes vector empty.

Definition at line 270 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_and ( const X &  x  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_and_val ( const Val &  val  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_and_vec ( const Vec &  vec  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_or ( const X &  x  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_or_val ( const Val &  val  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_or_vec ( const Vec &  vec  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_xor ( const X &  x  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_xor_val ( const Val &  val  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_bitwise_xor_vec ( const Vec &  vec  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_divides ( const X &  x  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_divides_val ( const Val &  val  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_divides_vec ( const Vec &  vec  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Seq>
void Arageli::vector< T, REFCNT >::assign_fromseq ( size_type  size_a,
Seq  seq 
) [inline]

Makes vector with size_a length and load the values from sequence seq.

Definition at line 368 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::assign_fromsize ( size_type  size_a  )  [inline]

Makes zero-vector with size_a length.

Definition at line 274 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::assign_fromstr ( const char *  s  ) 

Parses s as a vector as usual.

template<typename T, bool REFCNT>
template<typename Val>
void Arageli::vector< T, REFCNT >::assign_fromval ( size_type  size_a,
const Val &  val 
) [inline]

Makes vector with size_a length and val as each element.

Definition at line 359 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
void Arageli::vector< T, REFCNT >::assign_fromvec ( const Vec &  vec  )  [inline]

Makes copy of the argument.

Definition at line 285 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_minus ( const X &  x  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_minus_val ( const Val &  val  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_minus_vec ( const Vec &  vec  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_modulus ( const X &  x  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_modulus_val ( const Val &  val  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_modulus_vec ( const Vec &  vec  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_multiplies ( const X &  x  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_multiplies_val ( const Val &  val  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_multiplies_vec ( const Vec &  vec  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_plus ( const X &  x  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_plus_val ( const Val &  val  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_plus_vec ( const Vec &  vec  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_shift_left ( const X &  x  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_shift_left_val ( const Val &  val  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_shift_left_vec ( const Vec &  vec  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::assign_shift_right ( const X &  x  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::assign_shift_right_val ( const Val &  val  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::assign_shift_right_vec ( const Vec &  vec  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
reference Arageli::vector< T, REFCNT >::at ( size_type  i  )  [inline]

Accesses to vector item by index 'i'. Non-constant form.

Accesses with validation of index 'i'. If index is invalid function throws 'out_of_range' exception.

Definition at line 465 of file vector.hpp.

template<typename T, bool REFCNT>
const_reference Arageli::vector< T, REFCNT >::at ( size_type  i  )  const [inline]

Accesses to vector item by index 'i'. Constant form.

Accesses with validation of index 'i'. If index is invalid function throws 'out_of_range' exception.

Definition at line 456 of file vector.hpp.

template<typename T, bool REFCNT>
reference Arageli::vector< T, REFCNT >::back (  )  [inline]

Definition at line 555 of file vector.hpp.

template<typename T, bool REFCNT>
const_reference Arageli::vector< T, REFCNT >::back (  )  const [inline]

Definition at line 554 of file vector.hpp.

template<typename T, bool REFCNT>
const_iterator Arageli::vector< T, REFCNT >::begin (  )  const [inline]

Returns iterator on begin of items sequence. Constant form.

Definition at line 926 of file vector.hpp.

template<typename T, bool REFCNT>
iterator Arageli::vector< T, REFCNT >::begin (  )  [inline]

Returns iterator on begin of items sequence. Non-constant form.

Calls unique().

Definition at line 919 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::bitwise_not (  ) 

Makes bitwise inversed vector.

Calls operator~ for each item of the vector and store the result to the source. Returns reference to the vector.

template<typename T, bool REFCNT>
size_type Arageli::vector< T, REFCNT >::capacity (  )  const [inline]

Size of the storage.

Definition at line 652 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename SV>
vector<T, true> Arageli::vector< T, REFCNT >::copy_subvector ( const SV &  sv  )  const [inline]

Copies specified subvector without alternating of the original.

Definition at line 593 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename SV, typename V>
V& Arageli::vector< T, REFCNT >::copy_subvector ( const SV &  sv,
V &  res 
) const

Copies specified subvector without alternating of the original.

template<typename T, bool REFCNT>
reference Arageli::vector< T, REFCNT >::el ( size_type  i  )  [inline]

Accesses to vector item by index 'i'. Non-constant form.

Accesses without validation of index 'i'.

Definition at line 446 of file vector.hpp.

template<typename T, bool REFCNT>
const_reference Arageli::vector< T, REFCNT >::el ( size_type  i  )  const [inline]

Accesses to vector item by index 'i'. Constant form.

Accesses without validation of index 'i'.

Definition at line 438 of file vector.hpp.

template<typename T, bool REFCNT>
const_iterator Arageli::vector< T, REFCNT >::end (  )  const [inline]

Returns iterator on end of items sequence. Constant form.

Definition at line 929 of file vector.hpp.

template<typename T, bool REFCNT>
iterator Arageli::vector< T, REFCNT >::end (  )  [inline]

Returns iterator on end of items sequence. Non-constant form.

Calls unique().

Definition at line 923 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::erase ( size_type  pos,
size_type  n 
) [inline]

Deletes items beginning from index 'pos' and next 'n' items.

Definition at line 1134 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::erase ( iterator  first,
iterator  last 
) [inline]

Deletes items in iterator range [first, last).

Definition at line 1126 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::erase ( size_type  pos  )  [inline]

Deletes item by index 'pos'.

Definition at line 1123 of file vector.hpp.

template<typename T, bool REFCNT>
iterator Arageli::vector< T, REFCNT >::erase ( iterator  pos  )  [inline]

Deletes item by iterator 'pos'.

Inserts 'n' copies of 'val' before item 'pos' (it's index). All elements on and after 'pos' are shifting to back.

Definition at line 1115 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename SV>
void Arageli::vector< T, REFCNT >::erase_subvector ( const SV &  sv  ) 

Erases subvector.

template<typename T, bool REFCNT>
template<typename X>
void Arageli::vector< T, REFCNT >::fill ( const X &  x  )  [inline]

Fills the vector without length change by a value or from a sequence.

Definition at line 420 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Seq>
void Arageli::vector< T, REFCNT >::fill_fromseq ( const Seq &  seq  )  [inline]

Fills the vector from a sequence without length change.

Definition at line 414 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
void Arageli::vector< T, REFCNT >::fill_fromval ( const Val &  val  )  [inline]

Fills the vector of a value val without length change.

Definition at line 408 of file vector.hpp.

template<typename T, bool REFCNT>
reference Arageli::vector< T, REFCNT >::front (  )  [inline]

Definition at line 553 of file vector.hpp.

template<typename T, bool REFCNT>
const_reference Arageli::vector< T, REFCNT >::front (  )  const [inline]

Definition at line 552 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
void Arageli::vector< T, REFCNT >::insert ( size_type  pos,
size_type  size_a,
const X &  x 
) [inline]

Definition at line 1067 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
void Arageli::vector< T, REFCNT >::insert ( size_type  pos,
const X &  x 
) [inline]

Definition at line 1009 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
iterator Arageli::vector< T, REFCNT >::insert ( iterator  pos,
const X &  x 
) [inline]

Definition at line 1001 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Seq>
void Arageli::vector< T, REFCNT >::insert_fromseq ( size_type  pos,
size_type  size_a,
const Seq &  seq 
) [inline]

Definition at line 1059 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Seq>
iterator Arageli::vector< T, REFCNT >::insert_fromseq ( iterator  pos,
size_type  size_a,
const Seq &  seq 
) [inline]

Definition at line 1052 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Str>
void Arageli::vector< T, REFCNT >::insert_fromstr ( size_type  pos,
const Str &  str 
) [inline]

Definition at line 993 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Str>
iterator Arageli::vector< T, REFCNT >::insert_fromstr ( iterator  pos,
const Str &  str 
) [inline]

Definition at line 986 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
void Arageli::vector< T, REFCNT >::insert_fromval ( size_type  pos,
size_type  size_a,
const Val &  val 
) [inline]

Definition at line 1045 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
iterator Arageli::vector< T, REFCNT >::insert_fromval ( iterator  pos,
size_type  size_a,
const Val &  val 
) [inline]

Definition at line 1038 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
void Arageli::vector< T, REFCNT >::insert_fromval ( size_type  pos,
const Val &  val 
) [inline]

Inserts item with value 'val' before item 'pos' (it's index).

Definition at line 962 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
iterator Arageli::vector< T, REFCNT >::insert_fromval ( iterator  pos,
const Val &  val 
) [inline]

Inserts item with value 'val' before item 'pos' (it's iterator).

All functions are divided into two groups. Functions from the first group take an iterator as the first parameter. Functions from the second group take an integer as the first parameter. In both cases the parameter means the position of the start of insertion/erasing. If a particular function takes an iterator as the first parameter then the function returns an iterator. The returned iterator points to the position where the new element(s) begins at the vector.

Definition at line 952 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
void Arageli::vector< T, REFCNT >::insert_fromvec ( size_type  pos,
const Vec &  vec 
) [inline]

Definition at line 978 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
iterator Arageli::vector< T, REFCNT >::insert_fromvec ( iterator  pos,
const Vec &  vec 
) [inline]

Definition at line 969 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::inverse (  ) 

Makes inversed vector.

Calls Arageli::inverse for each item of the vector. Returns reference to the vector.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::is_empty (  )  const [inline]

Returns true if the vector is empty.

Returns true if and only if vector is not contained any items (i.e. if size() == 0).

Definition at line 626 of file vector.hpp.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::is_null (  )  const

Returns true if the vector is null-vector.

Returns true if and only if for each item 'x' of the vector expression is_null(x) is true. If the vector is empty then this function returns true.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::is_opposite_unit (  )  const

Returns true if the vector is opposite unit-vector.

Returns true if and only if for each item 'x' of the vector expression value_traits::is_opposite_unit(x) is true. If the vector is empty then this function returns true.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::is_unit (  )  const

Returns true if the vector is unit-vector.

Returns true if and only if for each item 'x' of the vector expression value_traits::is_unit(x) is true. If the vector is empty then this function returns true.

template<typename T, bool REFCNT>
template<typename X, typename Binop>
vector& Arageli::vector< T, REFCNT >::left_apply ( const X &  x,
Binop  f 
) [inline]

Definition at line 775 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val, typename BinAsnOp>
vector& Arageli::vector< T, REFCNT >::left_apply_val ( const Val &  val,
BinAsnOp  f 
) [inline]

Definition at line 732 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec, typename BinAsnOp>
vector& Arageli::vector< T, REFCNT >::left_apply_vec ( const Vec &  vec,
BinAsnOp  f 
) [inline]

Definition at line 746 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_and ( const X &  x  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_and_val ( const Val &  val  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_and_vec ( const Vec &  vec  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_or ( const X &  x  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_or_val ( const Val &  val  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_or_vec ( const Vec &  vec  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_xor ( const X &  x  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_xor_val ( const Val &  val  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_bitwise_xor_vec ( const Vec &  vec  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_divides ( const X &  x  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_divides_val ( const Val &  val  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_divides_vec ( const Vec &  vec  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_minus ( const X &  x  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_minus_val ( const Val &  val  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_minus_vec ( const Vec &  vec  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_modulus ( const X &  x  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_modulus_val ( const Val &  val  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_modulus_vec ( const Vec &  vec  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_multiplies ( const X &  x  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_multiplies_val ( const Val &  val  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_multiplies_vec ( const Vec &  vec  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_plus ( const X &  x  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_plus_val ( const Val &  val  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_plus_vec ( const Vec &  vec  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_left ( const X &  x  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_left_val ( const Val &  val  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_left_vec ( const Vec &  vec  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_right ( const X &  x  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_right_val ( const Val &  val  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::left_assign_shift_right_vec ( const Vec &  vec  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
size_type Arageli::vector< T, REFCNT >::length (  )  const [inline]

The number of items in the vector.

The same as size() function. Compare with matrix::length().

Definition at line 621 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::logical_not (  ) 

Makes logical negate of the vector.

Calls operator! for each item of the vector and store the result to the source. Returns reference to the vector.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator &= ( const X &  x  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator *= ( const X &  x  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::operator! (  )  const [inline]

Returns vector with results of applying operator! for each item of this vector.

Definition at line 870 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator%= ( const X &  x  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
binary_function_traits<function_tag::parentheses_1, vector, X>::result_type Arageli::vector< T, REFCNT >::operator() ( const X &  x  )  [inline]

Accesses to vector item by index 'i'. Non-constant form.

The same as operator[] (non-const).

Definition at line 548 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
binary_function_traits<function_tag::parentheses_1, const vector, X>::result_type Arageli::vector< T, REFCNT >::operator() ( const X &  x  )  const [inline]

Accesses to vector item by index 'i'. Constant form.

The same as operator[] (const).

Definition at line 539 of file vector.hpp.

template<typename T, bool REFCNT>
const vector& Arageli::vector< T, REFCNT >::operator+ (  )  const [inline]

Returns reference to this vector. For sameness only.

Definition at line 860 of file vector.hpp.

template<typename T, bool REFCNT>
vector Arageli::vector< T, REFCNT >::operator++ ( int   )  [inline]

Definition at line 878 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::operator++ (  )  [inline]

Definition at line 872 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator+= ( const X &  x  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
vector Arageli::vector< T, REFCNT >::operator- (  )  const [inline]

Returns vector with opposite values of items of this vector.

The original vector stills the same.

Definition at line 853 of file vector.hpp.

template<typename T, bool REFCNT>
vector Arageli::vector< T, REFCNT >::operator-- ( int   )  [inline]

Definition at line 886 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::operator-- (  )  [inline]

Definition at line 880 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator-= ( const X &  x  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator/= ( const X &  x  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator<<= ( const X &  x  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator= ( const X &  x  )  [inline]

Makes vector from x, where X can be a value, string or some vector.

Definition at line 325 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator>>= ( const X &  x  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
binary_function_traits<function_tag::subscript, vector, X>::result_type Arageli::vector< T, REFCNT >::operator[] ( const X &  x  )  [inline]

Accesses to vector item by index 'i'. Non-constant form.

The same as el or subvector methods (non-const).

Definition at line 525 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
binary_function_traits<function_tag::subscript, const vector, X>::result_type Arageli::vector< T, REFCNT >::operator[] ( const X &  x  )  const [inline]

Accesses to vector item by index 'i'. Constant form.

The same as el or subvector methods (const).

Definition at line 512 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator^= ( const X &  x  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::operator|= ( const X &  x  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
vector Arageli::vector< T, REFCNT >::operator~ (  )  const [inline]

Returns vector with bitwise inverted of each item of this vector.

Definition at line 863 of file vector.hpp.

template<typename T, bool REFCNT>
vector& Arageli::vector< T, REFCNT >::opposite (  ) 

Makes opposite vector.

Calls Arageli::opposite for each item of the vector. Returns reference to the vector.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::pack (  )  [inline]

Shrink the storage size to eliminate unused cells of the memory.

After this operation size() == cpacity(). Returned value indicates if reallocation is actually performed.

Definition at line 664 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::pop_back (  )  [inline]

Definition at line 1143 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::pop_front (  )  [inline]

Definition at line 1150 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::push_back ( const T &  val  )  [inline]

Inserts 'val' to back of the vector.

Definition at line 1138 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::push_front ( const T &  val  )  [inline]

Inserts 'val' to front of the vector.

Definition at line 1141 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename T2>
void Arageli::vector< T, REFCNT >::remove ( const T2 &  v  )  [inline]

Removes from vector all elements that is equal to v.

Definition at line 1159 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Fu>
void Arageli::vector< T, REFCNT >::remove_if ( Fu  f  )  [inline]

Removes from vector all elements for that f returns true.

Definition at line 1164 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::reserve ( size_type  n  )  [inline]

Reserve n bytes of memory to store vector items if n < size(), otherwise do nothing.

Definition at line 655 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::resize ( size_type  sz  )  [inline]

Alternates size of this vector.

New items become undefined.

Definition at line 703 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X, typename BinAsnOp>
vector& Arageli::vector< T, REFCNT >::right_apply ( const X &  x,
BinAsnOp  f 
) [inline]

Definition at line 753 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val, typename BinAsnOp>
vector& Arageli::vector< T, REFCNT >::right_apply_val ( const Val &  val,
BinAsnOp  f 
) [inline]

Definition at line 725 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec, typename BinAsnOp>
vector& Arageli::vector< T, REFCNT >::right_apply_vec ( const Vec &  vec,
BinAsnOp  f 
) [inline]

Definition at line 739 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_and ( const X &  x  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_and_val ( const Val &  val  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_and_vec ( const Vec &  vec  )  [inline]

Definition at line 839 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_or ( const X &  x  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_or_val ( const Val &  val  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_or_vec ( const Vec &  vec  )  [inline]

Definition at line 838 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_xor ( const X &  x  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_xor_val ( const Val &  val  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_bitwise_xor_vec ( const Vec &  vec  )  [inline]

Definition at line 840 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_divides ( const X &  x  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_divides_val ( const Val &  val  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_divides_vec ( const Vec &  vec  )  [inline]

Definition at line 836 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_minus ( const X &  x  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_minus_val ( const Val &  val  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_minus_vec ( const Vec &  vec  )  [inline]

Definition at line 834 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_modulus ( const X &  x  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_modulus_val ( const Val &  val  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_modulus_vec ( const Vec &  vec  )  [inline]

Definition at line 837 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_multiplies ( const X &  x  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_multiplies_val ( const Val &  val  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_multiplies_vec ( const Vec &  vec  )  [inline]

Definition at line 835 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_plus ( const X &  x  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_plus_val ( const Val &  val  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_plus_vec ( const Vec &  vec  )  [inline]

Definition at line 833 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_left ( const X &  x  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_left_val ( const Val &  val  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_left_vec ( const Vec &  vec  )  [inline]

Definition at line 841 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename X>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_right ( const X &  x  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Val>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_right_val ( const Val &  val  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
vector& Arageli::vector< T, REFCNT >::right_assign_shift_right_vec ( const Vec &  vec  )  [inline]

Definition at line 842 of file vector.hpp.

template<typename T, bool REFCNT>
size_type Arageli::vector< T, REFCNT >::size (  )  const [inline]

The number of items in the vector.

Definition at line 617 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
indexed_subvector<vector, Vec> Arageli::vector< T, REFCNT >::subvector ( const Vec &  vec  )  [inline]

Definition at line 485 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
indexed_subvector<const vector, Vec> Arageli::vector< T, REFCNT >::subvector ( const Vec &  vec  )  const [inline]

Definition at line 481 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
indexed_subvector<vector, Vec> Arageli::vector< T, REFCNT >::subvector_at ( const Vec &  vec  )  [inline]

Definition at line 498 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename Vec>
indexed_subvector<const vector, Vec> Arageli::vector< T, REFCNT >::subvector_at ( const Vec &  vec  )  const [inline]

Definition at line 489 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename T1, bool REFCNT1>
void Arageli::vector< T, REFCNT >::swap ( vector< T1, REFCNT1 > &  x  )  [inline]

Swaps this vector with x without actually coping (if possible).

Definition at line 1186 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::swap_els ( size_type  xpos,
size_type  ypos 
) [inline]

Swaps each other two items of the vector at indexes 'x' and 'y'.

Definition at line 1181 of file vector.hpp.

template<typename T, bool REFCNT>
void Arageli::vector< T, REFCNT >::swap_els ( iterator  x,
iterator  y 
) [inline]

Swaps each other two items of the vector at iterators 'x' and 'y'.

Definition at line 1177 of file vector.hpp.

template<typename T, bool REFCNT>
value_type Arageli::vector< T, REFCNT >::take ( size_type  i  )  [inline]

Erases element at the position i from the vector and returns its value.

Definition at line 472 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename SV>
vector<T, true> Arageli::vector< T, REFCNT >::take_subvector ( const SV &  sv  )  [inline]

Copies specified subvector as the result and erases it from the original.

Parameters:
sv vector with indexes that identified subvector (in particular order). The result is returned value.

Definition at line 581 of file vector.hpp.

template<typename T, bool REFCNT>
template<typename SV, typename V>
V& Arageli::vector< T, REFCNT >::take_subvector ( const SV &  sv,
V &  res 
) [inline]

Copies specified subvector and erases it from the original.

Parameters:
sv vector with indexes that identified subvector (in particular order)
res target for copying Return value just is a reference to res.

Definition at line 570 of file vector.hpp.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::unique (  )  [inline]

Makes an individual representation for this object.

If ‘refcounting’ is false then this is empty operation. Otherwise it makes so that this vector descriptor gets individual copy of internal representation. Thus after this operation reference counter value is equal to one exactly. Returns true if the internal representation object is still the same and false if new copy has been made.

Definition at line 897 of file vector.hpp.

template<typename T, bool REFCNT>
bool Arageli::vector< T, REFCNT >::unique_clear (  )  [inline]

Makes an individual or a clean individual representation for this object.

If ‘refcounting’ is false this is empty operation. Otherwise if reference counter value is one (only this descriptor refers to) then immediate returns true. Else create for this descriptor new clean internal representation object (empty vector) and return false.

Definition at line 905 of file vector.hpp.


Member Data Documentation

template<typename T, bool REFCNT>
const bool Arageli::vector< T, REFCNT >::refcounting = REFCNT [static]

Reference counting property.

If it is true then counting is enabled else it is disabled.

Definition at line 204 of file vector.hpp.


The documentation for this class was generated from the following file:
Generated on Thu Aug 31 17:38:30 2006 for Arageli by  doxygen 1.4.7