// Description: Interval sequences
#ifndef PASTELSYS_INTERVAL_SEQUENCE_H
#define PASTELSYS_INTERVAL_SEQUENCE_H
#include "pastel/sys/integer/integer_concept.h"
#include "pastel/sys/output/output_concept.h"
#include "pastel/sys/range.h"
#include <vector>
namespace Pastel
{
//! Set-difference A\B between interval sequences.
/*!
Preconditions:
aSet is an interval sequence.
bSet is an interval sequence.
*/
template <
typename A_Range,
typename B_Range,
typename Output>
void difference(
const A_Range& aSet,
const B_Range& bSet,
Output report);
//! Returns whether the given sequence is an interval sequence.
template <typename A_Range>
bool isIntervalSequence(
const A_Range& aSet);
}
#include "pastel/sys/interval_sequence.hpp"
#endif