Empirical
Public Types | Public Member Functions | Public Attributes | List of all members
emp::WorldVector< T > Class Template Reference

A vector that can be indexed with a WorldPosition. More...

#include <World_structure.h>

Inheritance diagram for emp::WorldVector< T >:
emp::array< emp::vector< T >, 2 >

Public Types

using base_t = emp::array< emp::vector< T >, 2 >
 
using iterator = iterator_wrapper< typename base_t::iterator >
 
using const_iterator = iterator_wrapper< typename base_t::const_iterator >
 
using reverse_iterator = iterator_wrapper< typename base_t::reverse_iterator >
 
using const_reverse_iterator = iterator_wrapper< typename base_t::const_reverse_iterator >
 
using value_type = emp::vector< T >
 
using size_type = typename base_t::size_type
 
using reference = typename base_t::reference
 
using const_reference = typename base_t::const_reference
 

Public Member Functions

bool IsValid (WorldPosition pos) const
 Test if a position is currently valid. More...
 
void MakeValid (WorldPosition pos)
 Make sure position is valid; if not expand relevant vector. More...
 
T & operator() (WorldPosition pos)
 
const T & operator() (WorldPosition pos) const
 
 operator std::array< emp::vector< T >, N > ()
 
constexpr size_t size () const
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
emp::vector< T > & operator[] (size_t pos)
 
const emp::vector< T > & operator[] (size_t pos) const
 
emp::vector< T > & back ()
 
const emp::vector< T > & back () const
 
emp::vector< T > & front ()
 
const emp::vector< T > & front () const
 
void fill (const emp::vector< T > &val)
 
void resize (size_t new_size)
 
void resize (size_t new_size, const emp::vector< T > &val)
 
void push_back (PB_Ts &&...args)
 
void pop_back ()
 
iterator insert (ARGS &&...args)
 
iterator erase (ARGS &&...args)
 
iterator emplace (ARGS &&...args)
 
void emplace_back (ARGS &&...args)
 

Public Attributes

bool valid
 

Detailed Description

template<typename T>
class emp::WorldVector< T >

A vector that can be indexed with a WorldPosition.

Member Typedef Documentation

template<typename T>
using emp::WorldVector< T >::base_t = emp::array<emp::vector<T>, 2>
using emp::array< emp::vector< T > , N >::const_iterator = iterator_wrapper< typename base_t::const_iterator >
inherited
using emp::array< emp::vector< T > , N >::const_reference = typename base_t::const_reference
inherited
using emp::array< emp::vector< T > , N >::const_reverse_iterator = iterator_wrapper< typename base_t::const_reverse_iterator >
inherited
using emp::array< emp::vector< T > , N >::iterator = iterator_wrapper< typename base_t::iterator >
inherited
using emp::array< emp::vector< T > , N >::reference = typename base_t::reference
inherited
using emp::array< emp::vector< T > , N >::reverse_iterator = iterator_wrapper< typename base_t::reverse_iterator >
inherited
using emp::array< emp::vector< T > , N >::size_type = typename base_t::size_type
inherited
using emp::array< emp::vector< T > , N >::value_type = emp::vector< T >
inherited

Member Function Documentation

emp::vector< T > & emp::array< emp::vector< T > , N >::back ( )
inlineinherited
const emp::vector< T > & emp::array< emp::vector< T > , N >::back ( ) const
inlineinherited
iterator emp::array< emp::vector< T > , N >::begin ( )
inlinenoexceptinherited
const_iterator emp::array< emp::vector< T > , N >::begin ( ) const
inlinenoexceptinherited
iterator emp::array< emp::vector< T > , N >::emplace ( ARGS &&...  args)
inlineinherited
void emp::array< emp::vector< T > , N >::emplace_back ( ARGS &&...  args)
inlineinherited
iterator emp::array< emp::vector< T > , N >::end ( )
inlinenoexceptinherited
const_iterator emp::array< emp::vector< T > , N >::end ( ) const
inlinenoexceptinherited
iterator emp::array< emp::vector< T > , N >::erase ( ARGS &&...  args)
inlineinherited
void emp::array< emp::vector< T > , N >::fill ( const emp::vector< T > &  val)
inlineinherited
emp::vector< T > & emp::array< emp::vector< T > , N >::front ( )
inlineinherited
const emp::vector< T > & emp::array< emp::vector< T > , N >::front ( ) const
inlineinherited
iterator emp::array< emp::vector< T > , N >::insert ( ARGS &&...  args)
inlineinherited
template<typename T>
bool emp::WorldVector< T >::IsValid ( WorldPosition  pos) const
inline

Test if a position is currently valid.

template<typename T>
void emp::WorldVector< T >::MakeValid ( WorldPosition  pos)
inline

Make sure position is valid; if not expand relevant vector.

emp::array< emp::vector< T > , N >::operator std::array< emp::vector< T > , N > ( )
inlineinherited
template<typename T>
T& emp::WorldVector< T >::operator() ( WorldPosition  pos)
inline
template<typename T>
const T& emp::WorldVector< T >::operator() ( WorldPosition  pos) const
inline
emp::vector< T > & emp::array< emp::vector< T > , N >::operator[] ( size_t  pos)
inlineinherited
const emp::vector< T > & emp::array< emp::vector< T > , N >::operator[] ( size_t  pos) const
inlineinherited
void emp::array< emp::vector< T > , N >::pop_back ( )
inlineinherited
void emp::array< emp::vector< T > , N >::push_back ( PB_Ts &&...  args)
inlineinherited
void emp::array< emp::vector< T > , N >::resize ( size_t  new_size)
inlineinherited
void emp::array< emp::vector< T > , N >::resize ( size_t  new_size,
const emp::vector< T > &  val 
)
inlineinherited
constexpr size_t emp::array< emp::vector< T > , N >::size ( ) const
inlineinherited

Member Data Documentation

bool emp::array< emp::vector< T > , N >::valid
inherited

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