Polymake Template Library (PTL): pm::Vector< E > Class Template Reference
pm::Vector< E > Class Template Reference

Vector type class which holds the elements in a contiguous array More...

Inheritance diagram for pm::Vector< E >:
Collaboration diagram for pm::Vector< E >:

Public Types

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

Public Member Functions

 Vector ()
 create as empty
 
 Vector (int n)
 create vector of length n
 
int size () const
 number of elements
 
void clear ()
 truncate to zero size
 
void resize (int n)
 change the size, initialize appended elements with default constructor
 
template<typename Vector2 , typename E2 , typename = typename std::enable_if<can_initialize<E2, E>::value>::type>
Vectoroperator|= (const GenericVector< Vector2, E2 > &v)
 append a GenericVector
 
template<typename E2 , typename = typename std::enable_if<can_initialize<E2, E>::value>::type>
Vectoroperator|= (E2 &&r)
 append an element
 
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< Vector< E > > &, 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>
class pm::Vector< E >

Vector type class which holds the elements in a contiguous array

Member Function Documentation

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

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

top_type& pm::GenericVector< Vector< E > , 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<Vector< E > >&, const typename Concrete<IndexSet>::type&> >::type pm::GenericVector< Vector< E > , 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 files: