https://github.com/ITensor/ITensor
Tip revision: e2c6ea98c5d68dee7ad38c16a7f71574a46589e0 authored by Miles Stoudenmire on 20 August 2015, 19:47:53 UTC
Shortened some type names in cplx_literal.h and names of constants in global.h
Shortened some type names in cplx_literal.h and names of constants in global.h
Tip revision: e2c6ea9
iterpair.h
//
// Distributed under the ITensor Library License, Version 1.0.
// (See accompanying LICENSE file.)
//
#ifndef __ITENSOR_ITERPAIR_H
#define __ITENSOR_ITERPAIR_H
namespace itensor {
template <typename _Iter>
struct IterPair
{
using iterator = _Iter;
using const_iterator = _Iter;
IterPair() {}
IterPair(const _Iter& b,
const _Iter& e)
:
begin_(b),
end_(e)
{}
template <typename _I>
IterPair(const IterPair<_I>& IP)
:
begin_(IP.begin_),
end_(IP.end_)
{}
IterPair(_Iter&& b,
_Iter&& e)
:
begin_(b),
end_(e)
{}
template <typename _I>
IterPair(IterPair<_I>&& IP)
:
begin_(IP.begin_),
end_(IP.end_)
{}
_Iter
begin() const { return begin_; }
_Iter
end() const { return end_; }
private:
_Iter begin_,
end_;
};
} //namespace itensor
#endif