Обратитесь к этому разделу, в котором подробно описаны семейства полиморфных функций icl.
Этот раздел охватывает наиболее важные полиморфные и пространственные глобальные функцииicl. Более конкретные функции можно искать в доксигенной генерируемой справочной документации.
Многие из функцийiclперегружены для элементов, сегментов, элементов и интервальных контейнеров. Но не все комбинации типов предусмотрены. Также допустимые комбинации типов различны для разных функций и операций. Чтобы кратко представить перегрузки, которые могут быть использованы, мы используем синоптические таблицы, которые содержат возможные комбинации типов для операции. Они называютсятаблицы перегрузки. В качестве примера приведены таблицы перегрузки для оператора пересечения&=
:
T& operator &= (T&, const P&)
element containers: interval containers:
&= | e b s m &= | e i b p S M
---+-------- ---+------------
s | s s S | S S S
m | m m m m M | M M M M M M
Для двоичногоT&оператора&=T&,constP&]
существуют две разные таблицы для перегрузок элементов и интервальных контейнеров. Первый тип аргументаT
отображается в виде заголовков строк таблиц. Второй тип аргументаP
отображается в виде заголовков столбцов таблиц. Если допускается сочетаниеT
иP
, соответствующая ячейка таблицы не является пустой. Он отображает тип результата операции. В этом примере тип результата всегда равен первому аргументу.
Возможные типы, которые могут быть инстанцированы дляT
иP
, представляют собой типы элементов, интервалов и контейнеров, сокращенные заполнителями, которые определеныздесьи могут быть обобщены как:
s:S: интервальные наборы,e: элементы,i: интервалы
:элементная карта,:интервальные карты,b:элементно-значные пары,р:интервал-значение пары