#include "config.hpp"
#include <iostream>
#include <sstream>
#include <utility>
#include "frwrddecl.hpp"
#include "function_traits.hpp"
#include "factory.hpp"
#include "cmp.hpp"
#include "std_import.hpp"
Go to the source code of this file.
Namespaces | |
namespace | Arageli |
namespace | std |
Classes | |
class | Arageli::interval< T > |
Represents an interval (open, close or semi-open; it depends on performed operations). More... | |
Enumerations | |
enum | Arageli::interval_kind { Arageli::interval_empty = 0, Arageli::interval_point = 1, Arageli::interval_length = 2 } |
Kind of interval. More... | |
Functions | |
template<typename T> | |
interval< T > | Arageli::operator+ (const interval< T > &a, const interval< T > &b) |
template<typename T> | |
interval< T > | Arageli::operator- (const interval< T > &a, const interval< T > &b) |
template<typename T> | |
interval< T > | Arageli::operator * (const interval< T > &a, const interval< T > &b) |
template<typename T> | |
interval< T > | Arageli::operator/ (const interval< T > &a, const interval< T > &b) |
template<typename T1, typename T2> | |
bool | Arageli::are_overlap_intervals_oooo (const T1 &a, const T2 &b) |
template<typename Seg1, typename Seg2> | |
bool | Arageli::is_overlap_segs (const Seg1 &a, const Seg2 &b) |
template<typename Out, typename T> | |
Out & | Arageli::operator<< (Out &out, const interval< T > &x) |
template<typename In, typename T> | |
In & | Arageli::operator>> (In &in, interval< T > &x) |
template<typename T1, typename T2> | |
bool | Arageli::are_comparable_oooo (const interval< T1 > &a, const interval< T2 > &b) |
Determines if a and b are exactly comparable as two open intervals. | |
template<typename T1, typename T2> | |
int | Arageli::cmp (const interval< T1 > &a, const interval< T2 > &b) |
Semi-lexicographical comparision between two intervals. | |
template<typename T1, typename T2> | |
bool | Arageli::operator< (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T1, typename T2> | |
bool | Arageli::operator> (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T1, typename T2> | |
bool | Arageli::operator<= (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T1, typename T2> | |
bool | Arageli::operator>= (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T1, typename T2> | |
bool | Arageli::operator== (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T1, typename T2> | |
bool | Arageli::operator!= (const interval< T1 > &a, const interval< T2 > &b) |
template<typename T> | |
interval< T > | Arageli::abs (const interval< T > &x) |
template<typename T> | |
Arageli::interval< T > | std::abs (const Arageli::interval< T > &x) |
WARNING. It's implementation in "old style" because it doesn't use mixing computations. Be careful: in the neares future we plan to replace it to modern one with full support of the mixing computation engine.
Definition in file interval.hpp.