Polymake Template Library (PTL): pm::FixedVector< E, TSize > Class Template Reference
pm::FixedVector< E, TSize > Class Template Reference

Built-in array decorated as a vector. More...

Inheritance diagram for pm::FixedVector< E, TSize >:
Collaboration diagram for pm::FixedVector< E, TSize >:

Public Types

typedef E element_type
 element type
 
typedef std::conditional< is_sparse, SparseVector< E >, Vector< E > >::type persistent_type
 persistent type
 
typedef Generic< FixedVector< E, TSize > >::top_type top_type
 top type
 
typedef GenericVector generic_type
 generic type
 

Public Member Functions

 FixedVector (int=0)
 create empty vector
 
 FixedVector (int, const E &init)
 create vector of given length with constant element
 
template<typename Iterator >
 FixedVector (int, Iterator src)
 create vector from iterator
 
template<typename TVector >
 FixedVector (const GenericVector< TVector, E > &v)
 create vector from GenericVector
 
void clear ()
 fill with zeroes
 
void remove0s ()
 remove all zero elements which might have been overseen in some previous operation
 
top_typeoperator+= (const GenericVector< TVector2 > &v)
 
top_typeoperator-= (const GenericVector< TVector2 > &v)
 
top_typeoperator*= (const Right &r)
 multiply with an element
 
top_typeoperator/= (const Right &r)
 appending an element
 
top_typediv_exact (const Right &r)
 divide by an element
 
top_typedehomogenize ()
 divides by the first element
 
top_typedehomogenize_trop ()
 subtracts first element
 
std::enable_if< isomorphic_to_container_of< IndexSet, int >::value, IndexedSlice< unwary_t< FixedVector< E, TSize > > &, const typename Concrete< IndexSet >::type & > >::type slice (const IndexSet &indices)
 

Static Public Attributes

static const bool is_sparse
 determine if the persistent type is sparse
 

Detailed Description

template<typename E, size_t TSize>
class pm::FixedVector< E, TSize >

Built-in array decorated as a vector.

Member Function Documentation

top_type& pm::GenericVector< FixedVector< E, TSize > , E >::operator+= ( const GenericVector< TVector2 > &  v)
inlineinherited

adding a vector TODO: check whether addition is defined for both element types

top_type& pm::GenericVector< FixedVector< E, TSize > , E >::operator-= ( const GenericVector< TVector2 > &  v)
inlineinherited

subtracting a vector TODO: check whether subtraction is defined for both element types

std::enable_if<isomorphic_to_container_of<IndexSet, int>::value, IndexedSlice<unwary_t<FixedVector< E, TSize > >&, const typename Concrete<IndexSet>::type&> >::type pm::GenericVector< FixedVector< E, TSize > , E >::slice ( const IndexSet &  indices)
inlineinherited

Select a vector slice consisting of elements with given indices. The last variant selects a contiguous range of indices beginning with start. size==-1 means up to the end of the vector. The const variants of these methods create immutable slice objects. The indices must lie in the valid range.


The documentation for this class was generated from the following file: