Как определить открытость в интервале Boost ICL?

В Boost.ICL, какой канонический способ определить, является ли интервал закрытым или открытым?

В настоящее время я делаю это:

#include<boost/icl/discrete_interval.hpp>
#include<iostream>
int main(){
   boost::icl::discrete_interval<int> di({2, 5}); // closed-open by default, but other combinations are possible
   if(contains(di, lower(di)) std::cout << "left closed\n"; else std::cout << "left open\n";
   if(contains(di, upper(di)) std::cout << "right closed\n"; else std::cout << "right open\n";
}

Но это не кажется элегантным.

Есть ли функция, чтобы определить это? (для динамически ограниченных интервалов)

Кроме того, это будет работать для continuous_interval? и наконец, есть ли функция (например, значение шаблона) для определения типа компиляции из статического ограниченного интервала (границы, определенные типом компиляции)?

0 ответов

Другие вопросы по тегам