Empirical
Public Types | Public Member Functions | Public Attributes | List of all members
emp::LinearCode< ARG_COUNT, ARG_TYPE > Class Template Reference

#include <LinearCode.h>

Inheritance diagram for emp::LinearCode< ARG_COUNT, ARG_TYPE >:
emp::vector< Instruction< ARG_COUNT, ARG_TYPE > >

Public Types

using iterator = iterator_wrapper< typename stdv_t::iterator >
 
using const_iterator = iterator_wrapper< typename stdv_t::const_iterator >
 
using reverse_iterator = iterator_wrapper< typename stdv_t::reverse_iterator >
 
using const_reverse_iterator = iterator_wrapper< typename stdv_t::const_reverse_iterator >
 
using value_type = Instruction< ARG_COUNT, ARG_TYPE >
 
using size_type = typename stdv_t::size_type
 
using reference = typename stdv_t::reference
 
using const_reference = typename stdv_t::const_reference
 

Public Member Functions

void AddInst (size_t id, const emp::array< ARG_TYPE, ARG_COUNT > &in_args={})
 
size_t size () const
 
iterator begin () noexcept
 
const_iterator begin () const noexcept
 
iterator end () noexcept
 
const_iterator end () const noexcept
 
void resize (size_t new_size)
 
void resize (size_t new_size, const Instruction< ARG_COUNT, ARG_TYPE > &val)
 
Instruction< ARG_COUNT, ARG_TYPE > & operator[] (size_t pos)
 
const Instruction< ARG_COUNT, ARG_TYPE > & operator[] (size_t pos) const
 
Instruction< ARG_COUNT, ARG_TYPE > & back ()
 
const Instruction< ARG_COUNT, ARG_TYPE > & back () const
 
Instruction< ARG_COUNT, ARG_TYPE > & front ()
 
const Instruction< ARG_COUNT, ARG_TYPE > & front () const
 
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

int revision
 Setup a revision number - iterators must match the revision of their vector. More...
 

Member Typedef Documentation

using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::const_iterator = iterator_wrapper< typename stdv_t::const_iterator >
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::const_reference = typename stdv_t::const_reference
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::const_reverse_iterator = iterator_wrapper< typename stdv_t::const_reverse_iterator >
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::iterator = iterator_wrapper< typename stdv_t::iterator >
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::reference = typename stdv_t::reference
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::reverse_iterator = iterator_wrapper< typename stdv_t::reverse_iterator >
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::size_type = typename stdv_t::size_type
inherited
using emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::value_type = Instruction< ARG_COUNT, ARG_TYPE >
inherited

Member Function Documentation

template<size_t ARG_COUNT = 3, typename ARG_TYPE = size_t>
void emp::LinearCode< ARG_COUNT, ARG_TYPE >::AddInst ( size_t  id,
const emp::array< ARG_TYPE, ARG_COUNT > &  in_args = {} 
)
inline
Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::back ( )
inlineinherited
const Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::back ( ) const
inlineinherited
iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::begin ( )
inlinenoexceptinherited
const_iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::begin ( ) const
inlinenoexceptinherited
iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::emplace ( ARGS &&...  args)
inlineinherited
void emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::emplace_back ( ARGS &&...  args)
inlineinherited
iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::end ( )
inlinenoexceptinherited
const_iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::end ( ) const
inlinenoexceptinherited
iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::erase ( ARGS &&...  args)
inlineinherited
Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::front ( )
inlineinherited
const Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::front ( ) const
inlineinherited
iterator emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::insert ( ARGS &&...  args)
inlineinherited
Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::operator[] ( size_t  pos)
inlineinherited
const Instruction< ARG_COUNT, ARG_TYPE > & emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::operator[] ( size_t  pos) const
inlineinherited
void emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::pop_back ( )
inlineinherited
void emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::push_back ( PB_Ts &&...  args)
inlineinherited
void emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::resize ( size_t  new_size)
inlineinherited
void emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::resize ( size_t  new_size,
const Instruction< ARG_COUNT, ARG_TYPE > &  val 
)
inlineinherited
size_t emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::size ( ) const
inlineinherited

Member Data Documentation

int emp::vector< Instruction< ARG_COUNT, ARG_TYPE > , Ts >::revision
inherited

Setup a revision number - iterators must match the revision of their vector.


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