!interfaces.avt

Переключить прокрутку окна
Загрузить этот исходный код

/*
    Реализация среды исполнения языка программирования
    Объектно-ориентированный продвинутый векторный транслятор

    Copyright © 2021, 2024 Малик Разработчик

    Это свободная программа: вы можете перераспространять ее и/или изменять
    ее на условиях Меньшей Стандартной общественной лицензии GNU в том виде,
    в каком она была опубликована Фондом свободного программного обеспечения;
    либо версии 3 лицензии, либо (по вашему выбору) любой более поздней версии.

    Эта программа распространяется в надежде, что она будет полезной,
    но БЕЗО ВСЯКИХ ГАРАНТИЙ; даже без неявной гарантии ТОВАРНОГО ВИДА
    или ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННЫХ ЦЕЛЕЙ. Подробнее см. в Меньшей Стандартной
    общественной лицензии GNU.

    Вы должны были получить копию Меньшей Стандартной общественной лицензии GNU
    вместе с этой программой. Если это не так, см.
    <https://www.gnu.org/licenses/>.
*/

package avt.lang.array;

public interface Measureable(Object)
{
    public int length { read }
}

public interface ObjectArray(Object, Cloneable, Measureable)
{
    public Object operator [](int index);
}

public interface BooleanArray(Object, Cloneable, Measureable)
{
    public boolean operator [](int index);
}

public interface CharArray(Object, Cloneable, Measureable)
{
    public char operator [](int index);
}

public interface RealArray(Object, Cloneable, Measureable)
{
    public real operator [](int index);
}

public interface DoubleArray(Object, Cloneable, Measureable)
{
    public double operator [](int index);
}

public interface Double2Array(Object, Cloneable, Measureable)
{
    public double2 operator [](int index);
}

public interface Double4Array(Object, Cloneable, Measureable)
{
    public double4 operator [](int index);
}

public interface Double8Array(Object, Cloneable, Measureable)
{
    public double8 operator [](int index);
}

public interface FloatArray(Object, Cloneable, Measureable)
{
    public float operator [](int index);
}

public interface Float2Array(Object, Cloneable, Measureable)
{
    public float2 operator [](int index);
}

public interface Float4Array(Object, Cloneable, Measureable)
{
    public float4 operator [](int index);
}

public interface Float8Array(Object, Cloneable, Measureable)
{
    public float8 operator [](int index);
}

public interface ByteArray(Object, Cloneable, Measureable)
{
    public byte operator [](int index);
}

public interface Byte2Array(Object, Cloneable, Measureable)
{
    public byte2 operator [](int index);
}

public interface Byte4Array(Object, Cloneable, Measureable)
{
    public byte4 operator [](int index);
}

public interface Byte8Array(Object, Cloneable, Measureable)
{
    public byte8 operator [](int index);
}

public interface ShortArray(Object, Cloneable, Measureable)
{
    public short operator [](int index);
}

public interface Short2Array(Object, Cloneable, Measureable)
{
    public short2 operator [](int index);
}

public interface Short4Array(Object, Cloneable, Measureable)
{
    public short4 operator [](int index);
}

public interface Short8Array(Object, Cloneable, Measureable)
{
    public short8 operator [](int index);
}

public interface IntArray(Object, Cloneable, Measureable)
{
    public int operator [](int index);
}

public interface Int2Array(Object, Cloneable, Measureable)
{
    public int2 operator [](int index);
}

public interface Int4Array(Object, Cloneable, Measureable)
{
    public int4 operator [](int index);
}

public interface Int8Array(Object, Cloneable, Measureable)
{
    public int8 operator [](int index);
}

public interface LongArray(Object, Cloneable, Measureable)
{
    public long operator [](int index);
}

public interface Long2Array(Object, Cloneable, Measureable)
{
    public long2 operator [](int index);
}

public interface Long4Array(Object, Cloneable, Measureable)
{
    public long4 operator [](int index);
}

public interface Long8Array(Object, Cloneable, Measureable)
{
    public long8 operator [](int index);
}

public interface MutableMeasureable(Object, Measureable)
{
    public int length { read, write }

    public int capacity { read }
}

public interface MutableObjectArray(Object, Cloneable, Measureable, ObjectArray)
{
    public void operator []=(int index, Object component);
}

public interface MutableBooleanArray(Object, Cloneable, Measureable, BooleanArray)
{
    public void operator []=(int index, boolean component);
}

public interface MutableCharArray(Object, Cloneable, Measureable, CharArray)
{
    public void operator []=(int index, char component);
}

public interface MutableRealArray(Object, Cloneable, Measureable, RealArray)
{
    public void operator []=(int index, real component);
}

public interface MutableDoubleArray(Object, Cloneable, Measureable, DoubleArray)
{
    public void operator []=(int index, double component);
}

public interface MutableDouble2Array(Object, Cloneable, Measureable, Double2Array)
{
    public void operator []=(int index, double2 component);
}

public interface MutableDouble4Array(Object, Cloneable, Measureable, Double4Array)
{
    public void operator []=(int index, double4 component);
}

public interface MutableDouble8Array(Object, Cloneable, Measureable, Double8Array)
{
    public void operator []=(int index, double8 component);
}

public interface MutableFloatArray(Object, Cloneable, Measureable, FloatArray)
{
    public void operator []=(int index, float component);
}

public interface MutableFloat2Array(Object, Cloneable, Measureable, Float2Array)
{
    public void operator []=(int index, float2 component);
}

public interface MutableFloat4Array(Object, Cloneable, Measureable, Float4Array)
{
    public void operator []=(int index, float4 component);
}

public interface MutableFloat8Array(Object, Cloneable, Measureable, Float8Array)
{
    public void operator []=(int index, float8 component);
}

public interface MutableByteArray(Object, Cloneable, Measureable, ByteArray)
{
    public void operator []=(int index, byte component);
}

public interface MutableByte2Array(Object, Cloneable, Measureable, Byte2Array)
{
    public void operator []=(int index, byte2 component);
}

public interface MutableByte4Array(Object, Cloneable, Measureable, Byte4Array)
{
    public void operator []=(int index, byte4 component);
}

public interface MutableByte8Array(Object, Cloneable, Measureable, Byte8Array)
{
    public void operator []=(int index, byte8 component);
}

public interface MutableShortArray(Object, Cloneable, Measureable, ShortArray)
{
    public void operator []=(int index, short component);
}

public interface MutableShort2Array(Object, Cloneable, Measureable, Short2Array)
{
    public void operator []=(int index, short2 component);
}

public interface MutableShort4Array(Object, Cloneable, Measureable, Short4Array)
{
    public void operator []=(int index, short4 component);
}

public interface MutableShort8Array(Object, Cloneable, Measureable, Short8Array)
{
    public void operator []=(int index, short8 component);
}

public interface MutableIntArray(Object, Cloneable, Measureable, IntArray)
{
    public void operator []=(int index, int component);
}

public interface MutableInt2Array(Object, Cloneable, Measureable, Int2Array)
{
    public void operator []=(int index, int2 component);
}

public interface MutableInt4Array(Object, Cloneable, Measureable, Int4Array)
{
    public void operator []=(int index, int4 component);
}

public interface MutableInt8Array(Object, Cloneable, Measureable, Int8Array)
{
    public void operator []=(int index, int8 component);
}

public interface MutableLongArray(Object, Cloneable, Measureable, LongArray)
{
    public void operator []=(int index, long component);
}

public interface MutableLong2Array(Object, Cloneable, Measureable, Long2Array)
{
    public void operator []=(int index, long2 component);
}

public interface MutableLong4Array(Object, Cloneable, Measureable, Long4Array)
{
    public void operator []=(int index, long4 component);
}

public interface MutableLong8Array(Object, Cloneable, Measureable, Long8Array)
{
    public void operator []=(int index, long8 component);
}

public interface ResizeableObjectArray(Object, Cloneable, Measureable, MutableMeasureable, MutableObjectArray, ObjectArray)
{
    public int length { read, write }
}

public interface ResizeableBooleanArray(Object, Cloneable, Measureable, MutableMeasureable, MutableBooleanArray, BooleanArray)
{
    public int length { read, write }
}

public interface ResizeableCharArray(Object, Cloneable, Measureable, MutableMeasureable, MutableCharArray, CharArray)
{
    public int length { read, write }
}

public interface ResizeableRealArray(Object, Cloneable, Measureable, MutableMeasureable, MutableRealArray, RealArray)
{
    public int length { read, write }
}

public interface ResizeableDoubleArray(Object, Cloneable, Measureable, MutableMeasureable, MutableDoubleArray, DoubleArray)
{
    public int length { read, write }
}

public interface ResizeableDouble2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableDouble2Array, Double2Array)
{
    public int length { read, write }
}

public interface ResizeableDouble4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableDouble4Array, Double4Array)
{
    public int length { read, write }
}

public interface ResizeableDouble8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableDouble8Array, Double8Array)
{
    public int length { read, write }
}

public interface ResizeableFloatArray(Object, Cloneable, Measureable, MutableMeasureable, MutableFloatArray, FloatArray)
{
    public int length { read, write }
}

public interface ResizeableFloat2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableFloat2Array, Float2Array)
{
    public int length { read, write }
}

public interface ResizeableFloat4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableFloat4Array, Float4Array)
{
    public int length { read, write }
}

public interface ResizeableFloat8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableFloat8Array, Float8Array)
{
    public int length { read, write }
}

public interface ResizeableByteArray(Object, Cloneable, Measureable, MutableMeasureable, MutableByteArray, ByteArray)
{
    public int length { read, write }
}

public interface ResizeableByte2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableByte2Array, Byte2Array)
{
    public int length { read, write }
}

public interface ResizeableByte4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableByte4Array, Byte4Array)
{
    public int length { read, write }
}

public interface ResizeableByte8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableByte8Array, Byte8Array)
{
    public int length { read, write }
}

public interface ResizeableShortArray(Object, Cloneable, Measureable, MutableMeasureable, MutableShortArray, ShortArray)
{
    public int length { read, write }
}

public interface ResizeableShort2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableShort2Array, Short2Array)
{
    public int length { read, write }
}

public interface ResizeableShort4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableShort4Array, Short4Array)
{
    public int length { read, write }
}

public interface ResizeableShort8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableShort8Array, Short8Array)
{
    public int length { read, write }
}

public interface ResizeableIntArray(Object, Cloneable, Measureable, MutableMeasureable, MutableIntArray, IntArray)
{
    public int length { read, write }
}

public interface ResizeableInt2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableInt2Array, Int2Array)
{
    public int length { read, write }
}

public interface ResizeableInt4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableInt4Array, Int4Array)
{
    public int length { read, write }
}

public interface ResizeableInt8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableInt8Array, Int8Array)
{
    public int length { read, write }
}

public interface ResizeableLongArray(Object, Cloneable, Measureable, MutableMeasureable, MutableLongArray, LongArray)
{
    public int length { read, write }
}

public interface ResizeableLong2Array(Object, Cloneable, Measureable, MutableMeasureable, MutableLong2Array, Long2Array)
{
    public int length { read, write }
}

public interface ResizeableLong4Array(Object, Cloneable, Measureable, MutableMeasureable, MutableLong4Array, Long4Array)
{
    public int length { read, write }
}

public interface ResizeableLong8Array(Object, Cloneable, Measureable, MutableMeasureable, MutableLong8Array, Long8Array)
{
    public int length { read, write }
}

public interface ImmutableMeasureable(Object, ImmutableObject, Measureable, MutableMeasureable)
{
    public int length { read, write }
}

public interface ImmutableObjectArray(Object, ImmutableObject, Cloneable, Measureable, MutableMeasureable, ImmutableMeasureable, ResizeableObjectArray, MutableObjectArray, ObjectArray)
{
    public int length { read, write }
}