Core.Builtins
API встроенных функций
Следующие API встроенных функций считаются нестабильными, но содержат базовые определения того, что определяет возможности и поведение программы Julia. Обычно доступ к ним осуществляется через универсальный API более высокого уровня.
#
Core.memoryrefget
— Function
Core.memoryrefget(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Возвращает значение, хранящееся по ссылке MemoryRef
, выдавая BoundsError
, если объект Memory
пуст. См. описание ref[]
. Указанное упорядочение памяти должно быть совместимо с параметром isatomic
.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
#
Core.memoryrefset!
— Function
Core.memoryrefset!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Сохраняет значение по ссылке MemoryRef
, выдавая BoundsError
, если объект Memory
пуст. См. описание ref[] = value
. Указанное упорядочение памяти должно быть совместимо с параметром isatomic
.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
#
Core.memoryref_isassigned
— Function
Core.memoryref_isassigned(::GenericMemoryRef, ordering::Symbol, boundscheck::Bool)
Определяет, хранится ли значение по ссылке MemoryRef
, возвращая false, если объект Memory
пуст. См. описание isassigned(::Base.RefValue)
, Core.memoryrefget
. Указанное упорядочение памяти должно быть совместимо с параметром isatomic
.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
#
Core.memoryrefswap!
— Function
Core.memoryrefswap!(::GenericMemoryRef, value, ordering::Symbol, boundscheck::Bool)
Атомарным образом выполняет операции одновременного получения и задания значения MemoryRef
.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
См. также описание swapproperty!
и Core.memoryrefset!
.
#
Core.memoryrefmodify!
— Function
Core.memoryrefmodify!(::GenericMemoryRef, op, value, ordering::Symbol, boundscheck::Bool) -> Pair
Атомарным образом выполняет операции получения и задания значения MemoryRef
после применения функции op
.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
См. также описание modifyproperty!
и Core.memoryrefset!
.
#
Core.memoryrefreplace!
— Function
Core.memoryrefreplace!(::GenericMemoryRef, expected, desired,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> (; old, success::Bool)
Атомарным образом выполняет операции получения значения MemoryRef
и его условного задания.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
См. также описание replaceproperty!
и Core.memoryrefset!
.
#
Core.memoryrefsetonce!
— Function
Core.memoryrefsetonce!(::GenericMemoryRef, value,
success_order::Symbol, fail_order::Symbol=success_order, boundscheck::Bool) -> success::Bool
Атомарным образом выполняет операции присваивания MemoryRef
указанного значения, если оно еще не задано.
Совместимость: Julia 1.11
Для этой функции требуется версия Julia не ниже 1.11. |
См. также описание setpropertyonce!
и Core.memoryrefset!
.
#
Core.Intrinsics.atomic_pointerref
— Function
Core.Intrinsics.atomic_pointerref(pointer::Ptr{T}, order::Symbol) --> T
Совместимость: Julia 1.7
Для этой функции требуется версия Julia не ниже 1.7. |
См. описание unsafe_load
.
#
Core.Intrinsics.atomic_pointerset
— Function
Core.Intrinsics.atomic_pointerset(pointer::Ptr{T}, new::T, order::Symbol) --> pointer
Совместимость: Julia 1.7
Для этой функции требуется версия Julia не ниже 1.7. |
См. описание unsafe_store!
.
#
Core.Intrinsics.atomic_pointerswap
— Function
Core.Intrinsics.atomic_pointerswap(pointer::Ptr{T}, new::T, order::Symbol) --> old
Совместимость: Julia 1.7
Для этой функции требуется версия Julia не ниже 1.7. |
См. описание unsafe_swap!
.
#
Core.Intrinsics.atomic_pointermodify
— Function
Core.Intrinsics.atomic_pointermodify(pointer::Ptr{T}, function::(old::T,arg::S)->T, arg::S, order::Symbol) --> old
Совместимость: Julia 1.7
Для этой функции требуется версия Julia не ниже 1.7. |
См. описание unsafe_modify!
.
#
Core.Intrinsics.atomic_pointerreplace
— Function
Core.Intrinsics.atomic_pointerreplace(pointer::Ptr{T}, expected::Any, new::T, success_order::Symbol, failure_order::Symbol) --> (old, cmp)
Совместимость: Julia 1.7
Для этой функции требуется версия Julia не ниже 1.7. |
См. описание unsafe_replace!
.
#
Core.get_binding_type
— Function
Core.get_binding_type(module::Module, name::Symbol)
Получает объявленный тип привязки name
из модуля module
.
Совместимость: Julia 1.9
Для этой функции требуется версия Julia не ниже 1.9. |
#
Core.set_binding_type!
— Function
Core.set_binding_type!(module::Module, name::Symbol, [type::Type])
Задает объявленный тип привязки name
в модуле module
как type
. Если привязка уже имеет тип, не эквивалентный type
, выдает ошибку. Если аргумент type
отсутствует, задается тип привязки Any
, если он еще не задан, но ошибка не выдается.
Совместимость: Julia 1.9
Для этой функции требуется версия Julia не ниже 1.9. |
#
Core.IntrinsicFunction
— Type
Core.IntrinsicFunction <: Core.Builtin <: Function
Функция Core.IntrinsicFunction
определяет базовые примитивы, определяющие возможности и поведение программы Julia.
#
Core.Intrinsics
— Module
Core.Intrinsics
Модуль Core.Intrinsics
содержит объекты Core.IntrinsicFunction
.