Did you know ... Search Documentation:
Pack logtalk -- logtalk-3.98.0/docs/apis/_sources/deque_protocol_0.rst.txt

.. index:: single: deque_protocol .. _deque_protocol/0:

.. rst-class:: right

protocol

deque_protocol

Extracted protocol entity

| Availability: | logtalk_load(deques(loader))

| Author: Paulo Moura | Version: 1:0:0 | Date: 2026-02-08

| Compilation flags: | static

| Dependencies: | (none)

| Remarks: | (none)

| Inherited public predicates: | (none)

.. contents:: :local: :backlinks: top

Public predicates

.. index:: empty/1 .. _deque_protocol/0::empty/1:

empty/1 ^^^^^^^^^^^

True iff the deque is empty.

| Compilation flags: | static

| Template: | empty(Deque) | Mode and number of proofs: | empty(+deque) - zero_or_one


.. index:: push_front/3 .. _deque_protocol/0::push_front/3:

push_front/3 ^^^^^^^^^^^^^^^^

Adds an element to the front of the deque.

| Compilation flags: | static

| Template: | push_front(Element,DequeIn,DequeOut) | Mode and number of proofs: | push_front(+term,+deque,-deque) - one


.. index:: push_back/3 .. _deque_protocol/0::push_back/3:

push_back/3 ^^^^^^^^^^^^^^^

Adds an element to the back of the deque.

| Compilation flags: | static

| Template: | push_back(Element,DequeIn,DequeOut) | Mode and number of proofs: | push_back(+term,+deque,-deque) - one


.. index:: pop_front/3 .. _deque_protocol/0::pop_front/3:

pop_front/3 ^^^^^^^^^^^^^^^

Removes and returns the front element.

| Compilation flags: | static

| Template: | pop_front(DequeIn,Element,DequeOut) | Mode and number of proofs: | pop_front(+deque,-term,-deque) - zero_or_one


.. index:: pop_back/3 .. _deque_protocol/0::pop_back/3:

pop_back/3 ^^^^^^^^^^^^^^

Removes and returns the back element.

| Compilation flags: | static

| Template: | pop_back(DequeIn,Element,DequeOut) | Mode and number of proofs: | pop_back(+deque,-term,-deque) - zero_or_one


.. index:: peek_front/2 .. _deque_protocol/0::peek_front/2:

peek_front/2 ^^^^^^^^^^^^^^^^

Returns the front element without removing it.

| Compilation flags: | static

| Template: | peek_front(Deque,Element) | Mode and number of proofs: | peek_front(+deque,-term) - zero_or_one


.. index:: peek_back/2 .. _deque_protocol/0::peek_back/2:

peek_back/2 ^^^^^^^^^^^^^^^

Returns the back element without removing it.

| Compilation flags: | static

| Template: | peek_back(Deque,Element) | Mode and number of proofs: | peek_back(+deque,-term) - zero_or_one


.. index:: length/2 .. _deque_protocol/0::length/2:

length/2 ^^^^^^^^^^^^

Returns the number of elements in the deque.

| Compilation flags: | static

| Template: | length(Deque,Length) | Mode and number of proofs: | length(+deque,-integer) - one


.. index:: map/2 .. _deque_protocol/0::map/2:

map/2 ^^^^^^^^^

Applies a closure to all elements of a deque.

| Compilation flags: | static

| Template: | map(Closure,Deque) | Meta-predicate template: | map(1,*) | Mode and number of proofs: | map(+callable,+deque) - zero_or_one


.. index:: map/3 .. _deque_protocol/0::map/3:

map/3 ^^^^^^^^^

Applies a closure to all elements of a deque constructing a new deque.

| Compilation flags: | static

| Template: | map(Closure,Deque,NewQueue) | Meta-predicate template: | map(2,*,*) | Mode and number of proofs: | map(+callable,+deque,?deque) - zero_or_one


.. index:: as_list/2 .. _deque_protocol/0::as_list/2:

as_list/2 ^^^^^^^^^^^^^

Converts a deque to a list.

| Compilation flags: | static

| Template: | as_list(Deque,List) | Mode and number of proofs: | as_list(+deque,-list) - one


.. index:: as_deque/2 .. _deque_protocol/0::as_deque/2:

as_deque/2 ^^^^^^^^^^^^^^

Converts a list to a deque.

| Compilation flags: | static

| Template: | as_deque(List,Deque) | Mode and number of proofs: | as_deque(+list,-deque) - one


Protected predicates

(none)

Private predicates

(none)

Operators

(none)