Spec-Zone.ru › Pony

Флаги[A: Флаг[B] значение, необязательный B: ((U8 значение | U16 значение | U32 значение | U64 значение | U128 значение | ULong значение | USize значение) & Целое[B] значение)]

[Источник]

Флаги представляют собой набор флагов. Флаги, которые распознаются, должны передаваться как тип объединения для параметра типа A. Например:

примитивный SSE fun значение(): U64 => 1

примитивный AVX fun значение(): U64 => 2

примитивный RDTSCP fun значение(): U64 => 4

тип Features is Флаги[(SSE | AVX | RDTSCP)]

Параметр типа B — это базовое поле, используемое для хранения флагов.

class ref Flags[A: Flag[B] val, optional B: ((U8 val | U16 val | U32 val | 
    U64 val | U128 val | ULong val | 
    USize val) & Integer[B] val)] is
  Comparable[Flags[A, B] box] ref

Реализует

  • Сравнимый[Флаги[A, B] коробка] ссылка

Конструкторы

создать

[Источник]

new iso create()
: Flags[A, B] iso^

Возвращает

  • Флаги[A, B] изо^

Публичные функции

значение

[Источник]

Возвращает битовое кодирование установленных флагов.

fun box value()
: B

Возвращает

  • B

применить

[Источник]

Возвращает true, если флаг установлен.

fun box apply(
  flag: A)
: Bool val

Параметры

  • флаг: A

Возвращает

  • Булево значение

все

[Источник]

Устанавливает все биты, включая неопределенные флаги.

fun ref all()
: None val

Возвращает

  • None значение

очистить

[Источник]

Снимает все флаги.

fun ref clear()
: None val

Возвращает

  • None значение

установить

[Источник]

Устанавливает флаг.

fun ref set(
  flag: A)
: None val

Параметры

  • флаг: A

Возвращает

  • None значение

снять

[Источник]

Снимает флаг.

fun ref unset(
  flag: A)
: None val

Параметры

  • флаг: A

Возвращает

  • None значение

переключить

[Источник]

Устанавливает флаг, если он снят, и снимает флаг, если он установлен.

fun ref flip(
  flag: A)
: None val

Параметры

  • флаг: A

Возвращает

  • None значение

объединение

[Источник]

Объединение этого и того.

fun ref union(
  that: Flags[A, B] box)
: None val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • None значение

пересечение

[Источник]

Пересечение этого и того.

fun ref intersect(
  that: Flags[A, B] box)
: None val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • None значение

разность

[Источник]

Симметричная разность этого и того.

fun ref difference(
  that: Flags[A, B] box)
: None val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • None значение

удалить

[Источник]

Снимает флаги, которые установлены в том.

fun ref remove(
  that: Flags[A, B] box)
: None val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • None значение

добавить

[Источник]

Это со значением флага.

fun box add(
  flag: A)
: Flags[A, B] iso^

Параметры

  • флаг: A

Возвращает

  • Флаги[A, B] изо^

вычесть

[Источник]

Это со снятым флагом.

fun box sub(
  flag: A)
: Flags[A, B] iso^

Параметры

  • флаг: A

Возвращает

  • Флаги[A, B] изо^

op_or

[Источник]

Объединение этого и того.

fun box op_or(
  that: Flags[A, B] box)
: Flags[A, B] iso^

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Флаги[A, B] изо^

op_and

[Источник]

Пересечение этого и того.

fun box op_and(
  that: Flags[A, B] box)
: Flags[A, B] iso^

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Флаги[A, B] изо^

op_xor

[Источник]

Симметричная разность этого и того.

fun box op_xor(
  that: Flags[A, B] box)
: Flags[A, B] iso^

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Флаги[A, B] изо^

без

[Источник]

Флаги в этом, которых нет в том.

fun box without(
  that: Flags[A, B] box)
: Flags[A, B] iso^

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Флаги[A, B] изо^

клонировать

[Источник]

Создать копию.

fun box clone()
: Flags[A, B] iso^

Возвращает

  • Флаги[A, B] изо^

равно

[Источник]

Возвращает true, если этот объект имеет те же флаги, что и тот.

fun box eq(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

меньше

[Источник]

Возвращает true, если флаги, установленные в этом объекте, являются строгим подмножеством флагов, установленных в том. Флаги упорядочены только частично, поэтому lt не является противоположностью ge.

fun box lt(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

меньше или равно

[Источник]

Возвращает true, если флаги, установленные в этом объекте, являются подмножеством флагов, установленных в том, или они одинаковы. Флаги упорядочены только частично, поэтому le не является противоположностью te.

fun box le(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

больше

[Источник]

Возвращает true, если флаги, установленные в этом объекте, являются строгим надмножеством флагов, установленных в том. Флаги упорядочены только частично, поэтому gt не является противоположностью le.

fun box gt(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

больше или равно

[Источник]

Возвращает true, если флаги, установленные в этом объекте, являются надмножеством флагов, установленных в том, или они одинаковы. Флаги упорядочены только частично, поэтому ge не является противоположностью lt.

fun box ge(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

сравнить

[Источник]

fun box compare(
  that: Flags[A, B] box)
: (Less val | Equal val | Greater val)

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • (Меньше значение | Равно значение | Больше значение)

не равно

[Источник]

fun box ne(
  that: Flags[A, B] box)
: Bool val

Параметры

  • то: Флаги[A, B] коробка

Возвращает

  • Булево значение

© 2016-2020, The Pony Developers
© 2014-2015, Causality Ltd.
Licensed under the BSD 2-Clause License.
https://stdlib.ponylang.io/collections-Flags

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API