38template <
class IT,
class NT>
53 virtual void Del() = 0;
58template <
class IT,
class NT>
125template <
class IT,
class NT>
126class SparseVectorLocalIterator:
public VectorLocalIterator<IT, NT>
135 if (
v.ind.size() == 0)
162 typename std::vector<IT>::iterator
iter = std::lower_bound(
v.ind.begin()+
iter_idx,
v.ind.end(),
loc_idx);
163 if(
iter ==
v.ind.end())
217 typename std::vector<IT>::iterator
iter = std::lower_bound(
v.ind.begin(),
v.ind.end(),
loc_idx);
218 if(
iter ==
v.ind.end())
221 v.num.push_back(val);
227 v.num.insert(
v.num.begin() + (
iter-
v.ind.begin()), val);
232 *(
v.num.begin() + (
iter-
v.ind.begin())) = val;
239 v.num.push_back(val);
IT LocalToGlobal(IT loc_idx) const
void Set(const IT loc_idx, const NT &val)
FullyDistVec< IT, NT > & v
DenseVectorLocalIterator(FullyDistVec< IT, NT > &in_v)
IT GlobalToLocal(IT gbl_idx) const
void Append(const IT loc_idx, const NT &val)
IT GlobalToLocal(IT gbl_idx) const
IT LocalToGlobal(IT loc_idx) const
SparseVectorLocalIterator(FullyDistSpVec< IT, NT > &in_v)
FullyDistSpVec< IT, NT > & v
void Set(const IT loc_idx, const NT &val)
virtual NT & GetValue() const =0
virtual IT GlobalToLocal(IT gbl_idx) const =0
virtual void Set(const IT loc_idx, const NT &val)=0
virtual ~VectorLocalIterator()
virtual bool NextTo(IT loc_idx)=0
virtual IT LocalToGlobal(IT loc_idx) const =0
virtual IT GetLocIndex() const =0