Public Types | Public Member Functions | Public Attributes | Protected Member Functions | List of all members
actions::EraseRangeAt< T > Class Template Reference
Inheritance diagram for actions::EraseRangeAt< T >:
actions::BaseAction< T >

Public Types

using Base_t = BaseAction< T >
 
typedef TestManagerClass< T > TestClass_t
 
typedef TestClass_t::Data_t Data_t
 type stored More...
 
typedef TestClass_t::Vector_t Vector_t
 type of STL vector More...
 
typedef TestClass_t::SparseVector_t SparseVector_t
 type of sparse vector More...
 
- Public Types inherited from actions::BaseAction< T >
using This_t = BaseAction< T >
 
typedef TestManagerClass< T > TestClass_t
 
typedef TestClass_t::Data_t Data_t
 type stored More...
 
typedef TestClass_t::Vector_t Vector_t
 type of STL vector More...
 
typedef TestClass_t::SparseVector_t SparseVector_t
 type of sparse vector More...
 

Public Member Functions

 EraseRangeAt (size_t pos)
 
- Public Member Functions inherited from actions::BaseAction< T >
 BaseAction ()
 
 BaseAction (int exp_err)
 
virtual ~BaseAction ()
 
This_tset_expected_errors (int exp_err)
 
void describe (TestClass_t &tc, std::ostream &out) const
 Print a description of this action into the specified steam. More...
 
void describe (TestClass_t &tc) const
 Print a description of this action in the test class stream. More...
 
std::string description (TestClass_t &tc) const
 Returns a string with a description of this action. More...
 
void operator() (Vector_t &v) const
 Action performed on a STL vector. More...
 
void operator() (SparseVector_t &v) const
 Action performed on a sparse vector. More...
 

Public Attributes

size_t position
 
- Public Attributes inherited from actions::BaseAction< T >
int expected_errors {0}
 number of errors expected for this action More...
 

Protected Member Functions

virtual void actionOnVector (Vector_t &v) const override
 
virtual void actionOnSparseVector (SparseVector_t &v) const override
 
virtual void doDescribe (TestClass_t &, std::ostream &out) const override
 

Additional Inherited Members

- Protected Types inherited from actions::BaseAction< T >
using v_citer_t = typename Vector_t::const_iterator
 
- Static Protected Member Functions inherited from actions::BaseAction< T >
template<typename ITER >
static ITER skipRange (ITER start, ITER const end)
 
template<typename ITER >
static ITER skipVoid (ITER start, ITER const end)
 
template<typename ITER >
static ITER rangeStart (ITER const begin, ITER last)
 
template<typename ITER >
static ITER voidStart (ITER const begin, ITER last)
 
template<typename Vector >
static auto findRangeBorders (Vector &v, std::size_t pos)
 
template<typename ITER >
static ITER findRangeStart (Vector_t const &v, std::size_t i, ITER start)
 Returns iterator to the first element of the i-th range after start. More...
 
template<typename ITER >
static ITER findRangeStart (Vector_t const &v, std::size_t i)
 
template<typename ITER >
static ITER findVoidStart (Vector_t const &v, std::size_t i, ITER start)
 
static bool isVoid (Data_t value)
 

Detailed Description

template<typename T>
class actions::EraseRangeAt< T >

Definition at line 737 of file sparse_vector_test.cc.

Member Typedef Documentation

template<typename T >
using actions::EraseRangeAt< T >::Base_t = BaseAction<T>

Definition at line 745 of file sparse_vector_test.cc.

template<typename T >
typedef TestClass_t::Data_t actions::BaseAction< T >::Data_t

type stored

Definition at line 278 of file sparse_vector_test.cc.

template<typename T >
typedef TestClass_t::SparseVector_t actions::BaseAction< T >::SparseVector_t

type of sparse vector

Definition at line 280 of file sparse_vector_test.cc.

template<typename T >
typedef TestManagerClass<T> actions::BaseAction< T >::TestClass_t

Definition at line 277 of file sparse_vector_test.cc.

template<typename T >
typedef TestClass_t::Vector_t actions::BaseAction< T >::Vector_t

type of STL vector

Definition at line 279 of file sparse_vector_test.cc.

Constructor & Destructor Documentation

template<typename T >
actions::EraseRangeAt< T >::EraseRangeAt ( size_t  pos)
inline

Definition at line 753 of file sparse_vector_test.cc.

Member Function Documentation

template<typename T >
virtual void actions::EraseRangeAt< T >::actionOnSparseVector ( SparseVector_t v) const
inlineoverrideprotectedvirtual

Reimplemented from actions::BaseAction< T >.

Definition at line 762 of file sparse_vector_test.cc.

763  { v.make_void_around(position); }
template<typename T >
virtual void actions::EraseRangeAt< T >::actionOnVector ( Vector_t v) const
inlineoverrideprotectedvirtual

Reimplemented from actions::BaseAction< T >.

Definition at line 756 of file sparse_vector_test.cc.

757  {
758  auto&& [rstart, rend] = Base_t::findRangeBorders(v, position);
759  std::fill(rstart, rend, SparseVector_t::value_zero);
760  }
static constexpr value_type value_zero
a representation of 0
def fill(s)
Definition: translator.py:93
static auto findRangeBorders(Vector &v, std::size_t pos)
template<typename T >
virtual void actions::EraseRangeAt< T >::doDescribe ( TestClass_t ,
std::ostream &  out 
) const
inlineoverrideprotectedvirtual

Reimplemented from actions::BaseAction< T >.

Definition at line 765 of file sparse_vector_test.cc.

766  { out << "void range containing position " << position; }

Member Data Documentation

template<typename T >
size_t actions::EraseRangeAt< T >::position

Definition at line 751 of file sparse_vector_test.cc.


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