Modul speiger.src.collections
Klasse Object2ShortOpenHashMap<T>
java.lang.Object
java.util.AbstractMap<T,Short>
speiger.src.collections.objects.maps.abstracts.AbstractObject2ShortMap<T>
speiger.src.collections.objects.maps.impl.hash.Object2ShortOpenHashMap<T>
- Typparameter:
T- the keyType of elements maintained by this Collection
- Alle implementierten Schnittstellen:
Map<T,,Short> ToShortFunction<T>,Object2ShortMap<T>,ITrimmable
- Bekannte direkte Unterklassen:
Object2ShortLinkedOpenHashMap
A Type Specific Custom implementation of the HashMap
Instead of using Wrapper Object Arrays for storing keys and values there is dedicated arrays for storing keys and values.
Extra to that there is a couple quality of life functions provided
-
Verschachtelte Klassen - Übersicht
Von Klasse geerbte verschachtelte Klassen/Schnittstellen speiger.src.collections.objects.maps.abstracts.AbstractObject2ShortMap
AbstractObject2ShortMap.BasicEntry<T>Von Klasse geerbte verschachtelte Klassen/Schnittstellen java.util.AbstractMap
AbstractMap.SimpleEntry<K,V>, AbstractMap.SimpleImmutableEntry<K, V> Von Schnittstelle geerbte verschachtelte Klassen/Schnittstellen speiger.src.collections.objects.maps.interfaces.Object2ShortMap
Object2ShortMap.BuilderCache<T>, Object2ShortMap.Entry<T>, Object2ShortMap.FastEntrySet<T>, Object2ShortMap.MapBuilder -
Konstruktorübersicht
KonstruktorenKonstruktorBeschreibungDefault ConstructorObject2ShortOpenHashMap(int minCapacity) Constructor that defines the minimum capacityObject2ShortOpenHashMap(int minCapacity, float loadFactor) Constructor that defines the minimum capacity and load factorObject2ShortOpenHashMap(Map<? extends T, ? extends Short> map) A Helper constructor that allows to create a Map with exactly the same values as the provided map.Object2ShortOpenHashMap(Map<? extends T, ? extends Short> map, float loadFactor) A Helper constructor that allows to create a Map with exactly the same values as the provided map.A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ShortOpenHashMap(Object2ShortMap<T> map, float loadFactor) A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.Object2ShortOpenHashMap(T[] keys, short[] values) Helper constructor that allow to create a map from unboxed valuesObject2ShortOpenHashMap(T[] keys, short[] values, float loadFactor) Helper constructor that allow to create a map from unboxed valuesObject2ShortOpenHashMap(T[] keys, Short[] values) Helper constructor that allow to create a map from boxed values (it will unbox them)Object2ShortOpenHashMap(T[] keys, Short[] values, float loadFactor) Helper constructor that allow to create a map from boxed values (it will unbox them) -
Methodenübersicht
Modifizierer und TypMethodeBeschreibungshortA Helper method to add a primitives together.voidclear()voidclearAndTrim(int size) Trims the collection down to the requested size and clears all elements while doing soshortcomputeShort(T key, ObjectShortUnaryOperator<T> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortcomputeShortIfAbsent(T key, ToShortFunction<T> mappingFunction) A Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortcomputeShortIfAbsentNonDefault(T key, ToShortFunction<T> mappingFunction) A Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortcomputeShortIfPresent(T key, ObjectShortUnaryOperator<T> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortcomputeShortIfPresentNonDefault(T key, ObjectShortUnaryOperator<T> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortcomputeShortNonDefault(T key, ObjectShortUnaryOperator<T> mappingFunction) A Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".booleancontainsKey(Object key) booleancontainsValue(short value) Type Specific method to reduce boxing/unboxing of valuesbooleancontainsValue(Object value) Veraltet.copy()A Function that does a shallow clone of the Map itself.voidforEach(ObjectShortConsumer<T> action) Type Specific forEach method to reduce boxing/unboxingshortgetOrDefault(T key, short defaultValue) A Type Specific getOrDefault method to reduce boxing/unboxingshortA Type Specific get method to reduce boxing/unboxingkeySet()voidmergeAllShort(Object2ShortMap<T> m, ShortShortUnaryOperator mappingFunction) A Bulk method for merging Maps.shortmergeShort(T key, short value, ShortShortUnaryOperator mappingFunction) A Type Specific merge method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".Type Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.shortType Specific method to reduce boxing/unboxing of valuesshortputIfAbsent(T key, short value) Type Specific method to reduce boxing/unboxing of valuesshortType Specific remove function to reduce boxing/unboxingshortremOrDefault(T key, short defaultValue) Type-Specific Remove function with a default return value if wanted.booleanbooleanType Specific remove function to reduce boxing/unboxingshortA Type Specific replace method to reduce boxing/unboxing replace an existing valuebooleanA Type Specific replace method to replace an existing valueintsize()shortA Helper method to subtract from primitive from each other.shortsupplyShortIfAbsent(T key, ShortSupplier valueProvider) A Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".shortsupplyShortIfAbsentNonDefault(T key, ShortSupplier valueProvider) A Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null".booleantrim(int size) Trims the original collection down to the size of the current elements or the requested size depending which is biggervalues()Von Klasse geerbte Methoden speiger.src.collections.objects.maps.abstracts.AbstractObject2ShortMap
addToAll, entrySet, equals, getDefaultReturnValue, getOrDefault, hashCode, put, putAll, putAll, putAll, putAll, putAllIfAbsent, replaceShorts, replaceShorts, setDefaultReturnValueVon Klasse geerbte Methoden java.util.AbstractMap
isEmpty, toStringVon Schnittstelle geerbte Methoden speiger.src.collections.utils.ITrimmable
clearAndTrim, trimVon Schnittstelle geerbte Methoden speiger.src.collections.objects.maps.interfaces.Object2ShortMap
applyAsShort, compute, computeIfAbsent, computeIfPresent, forEach, merge, put, put, putAll, putAll, putIfAbsent, replace, replace, replaceAll, synchronize, synchronize, unmodifiable
-
Konstruktordetails
-
Object2ShortOpenHashMap
public Object2ShortOpenHashMap()Default Constructor -
Object2ShortOpenHashMap
public Object2ShortOpenHashMap(int minCapacity) Constructor that defines the minimum capacity- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.- Löst aus:
IllegalStateException- if the minimum capacity is negative
-
Object2ShortOpenHashMap
public Object2ShortOpenHashMap(int minCapacity, float loadFactor) Constructor that defines the minimum capacity and load factor- Parameter:
minCapacity- the minimum capacity the HashMap is allowed to be.loadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the minimum capacity is negativeIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ShortOpenHashMap
Helper constructor that allow to create a map from boxed values (it will unbox them)- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.- Löst aus:
IllegalStateException- if the keys and values do not match in lenght
-
Object2ShortOpenHashMap
Helper constructor that allow to create a map from boxed values (it will unbox them)- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.loadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the keys and values do not match in lenghtIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ShortOpenHashMap
Helper constructor that allow to create a map from unboxed values- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.- Löst aus:
IllegalStateException- if the keys and values do not match in lenght
-
Object2ShortOpenHashMap
Helper constructor that allow to create a map from unboxed values- Parameter:
keys- the keys that should be put into the mapvalues- the values that should be put into the map.loadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the keys and values do not match in lenghtIllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ShortOpenHashMap
A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the map
-
Object2ShortOpenHashMap
A Helper constructor that allows to create a Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
Object2ShortOpenHashMap
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the map
-
Object2ShortOpenHashMap
A Type Specific Helper function that allows to create a new Map with exactly the same values as the provided map.- Parameter:
map- the values that should be present in the maploadFactor- the percentage of how full the backing array can be before they resize- Löst aus:
IllegalStateException- if the loadfactor is either below/equal to 0 or above/equal to 1
-
-
Methodendetails
-
put
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific method to reduce boxing/unboxing of values- Angegeben von:
putin SchnittstelleObject2ShortMap<T>- Parameter:
key- the key that should be inserted,value- the value that should be inserted- Gibt zurück:
- the last present value or default return value.
- Siehe auch:
-
putIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific method to reduce boxing/unboxing of values- Angegeben von:
putIfAbsentin SchnittstelleObject2ShortMap<T>- Parameter:
key- the key that should be inserted,value- the value that should be inserted- Gibt zurück:
- the last present value or default return value.
- Siehe auch:
-
addTo
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Helper method to add a primitives together. If key is not present then this functions as a put.- Angegeben von:
addToin SchnittstelleObject2ShortMap<T>- Parameter:
key- the key that should be inserted,value- the value that should be inserted / added- Gibt zurück:
- the last present value or default return value.
-
subFrom
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Helper method to subtract from primitive from each other. If the key is not present it will just return the defaultValue How the implementation works is that it will subtract from the current value (if not present it will do nothing) and fence it to theObject2ShortMap.getDefaultReturnValue()If the fence is reached the element will be automaticall removed- Angegeben von:
subFromin SchnittstelleObject2ShortMap<T>- Parameter:
key- that should be subtract fromvalue- that should be subtract- Gibt zurück:
- the last present or default return value
-
containsKey
- Angegeben von:
containsKeyin SchnittstelleMap<T,Short> - Setzt außer Kraft:
containsKeyin KlasseAbstractObject2ShortMap<T>
-
containsValue
public boolean containsValue(short value) Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific method to reduce boxing/unboxing of values- Angegeben von:
containsValuein SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
containsValuein KlasseAbstractObject2ShortMap<T>- Parameter:
value- element that is searched for- Gibt zurück:
- if the value is present
-
containsValue
Veraltet.- Angegeben von:
containsValuein SchnittstelleMap<T,Short> - Angegeben von:
containsValuein SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
containsValuein KlasseAbstractMap<T,Short> - Parameter:
value- that is searched for.- Gibt zurück:
- true if found
- Siehe auch:
-
rem
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific remove function to reduce boxing/unboxing- Angegeben von:
remin SchnittstelleObject2ShortMap<T>- Parameter:
key- the element that should be removed- Gibt zurück:
- the value that was removed or default return value
-
remOrDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType-Specific Remove function with a default return value if wanted.- Angegeben von:
remOrDefaultin SchnittstelleObject2ShortMap<T>- Parameter:
key- the element that should be removeddefaultValue- the value that should be returned if the entry doesn't exist- Gibt zurück:
- the value that was removed or default value
- Siehe auch:
-
remove
- Angegeben von:
removein SchnittstelleMap<T,Short> - Angegeben von:
removein SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
removein KlasseAbstractObject2ShortMap<T>- Parameter:
key- the element that should be removed- Gibt zurück:
- the value that was removed or default return value
- Siehe auch:
-
remove
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific remove function to reduce boxing/unboxing- Angegeben von:
removein SchnittstelleObject2ShortMap<T>- Parameter:
key- the element that should be removedvalue- the expected value that should be found- Gibt zurück:
- true if the key and value was found and removed
- Siehe auch:
-
remove
-
getShort
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific get method to reduce boxing/unboxing- Angegeben von:
getShortin SchnittstelleObject2ShortMap<T>- Parameter:
key- the key that is searched for- Gibt zurück:
- the searched value or default return value
-
get
- Angegeben von:
getin SchnittstelleMap<T,Short> - Angegeben von:
getin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
getin KlasseAbstractObject2ShortMap<T>
-
getOrDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific getOrDefault method to reduce boxing/unboxing- Angegeben von:
getOrDefaultin SchnittstelleObject2ShortMap<T>- Parameter:
key- the key that is searched fordefaultValue- the value that should be returned if the key is not present- Gibt zurück:
- the searched value or defaultValue value
-
copy
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Function that does a shallow clone of the Map itself. This function is more optimized then a copy constructor since the Map does not have to be unsorted/resorted. It can be compared to Cloneable but with less exception risk- Angegeben von:
copyin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
copyin KlasseAbstractObject2ShortMap<T>- Gibt zurück:
- a Shallow Copy of the Map
-
object2ShortEntrySet
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Sensitive EntrySet to reduce boxing/unboxing and optionally Temp Object Allocation.- Angegeben von:
object2ShortEntrySetin SchnittstelleObject2ShortMap<T>- Gibt zurück:
- a EntrySet of the collection
-
keySet
- Angegeben von:
keySetin SchnittstelleMap<T,Short> - Angegeben von:
keySetin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
keySetin KlasseAbstractObject2ShortMap<T>
-
values
- Angegeben von:
valuesin SchnittstelleMap<T,Short> - Angegeben von:
valuesin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
valuesin KlasseAbstractObject2ShortMap<T>
-
forEach
Beschreibung aus Schnittstelle kopiert:Object2ShortMapType Specific forEach method to reduce boxing/unboxing- Angegeben von:
forEachin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
forEachin KlasseAbstractObject2ShortMap<T>- Parameter:
action- processor of the values that are iterator over
-
replace
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific replace method to replace an existing value- Angegeben von:
replacein SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
replacein KlasseAbstractObject2ShortMap<T>- Parameter:
key- the element that should be searched foroldValue- the expected value to be replacednewValue- the value to replace the oldValue with.- Gibt zurück:
- true if the value got replaced
-
replace
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific replace method to reduce boxing/unboxing replace an existing value- Angegeben von:
replacein SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
replacein KlasseAbstractObject2ShortMap<T>- Parameter:
key- the element that should be searched forvalue- the value to replace with.- Gibt zurück:
- the present value or default return value
-
computeShort
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value- Gibt zurück:
- the result of the computation
-
computeShortIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortIfAbsentin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortIfAbsentin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if not present- Gibt zurück:
- the result of the computed value or present value
-
supplyShortIfAbsent
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
supplyShortIfAbsentin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
supplyShortIfAbsentin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedvalueProvider- the value if not present- Gibt zurück:
- the result of the computed value or present value
-
computeShortIfPresent
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortIfPresentin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortIfPresentin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if present- Gibt zurück:
- the result of the default return value or present value
-
computeShortNonDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortNonDefaultin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortNonDefaultin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value- Gibt zurück:
- the result of the computation
-
computeShortIfAbsentNonDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific computeIfAbsent method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortIfAbsentNonDefaultin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortIfAbsentNonDefaultin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if not present- Gibt zurück:
- the result of the computed value or present value
-
supplyShortIfAbsentNonDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Supplier based computeIfAbsent function to fill the most used usecase of this function If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
supplyShortIfAbsentNonDefaultin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
supplyShortIfAbsentNonDefaultin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedvalueProvider- the value if not present- Gibt zurück:
- the result of the computed value or present value
-
computeShortIfPresentNonDefault
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific compute method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
computeShortIfPresentNonDefaultin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
computeShortIfPresentNonDefaultin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be computedmappingFunction- the operator that should generate the value if present- Gibt zurück:
- the result of the default return value or present value
-
mergeShort
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Type Specific merge method to reduce boxing/unboxing If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
mergeShortin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
mergeShortin KlasseAbstractObject2ShortMap<T>- Parameter:
key- the key that should be be searched forvalue- the value that should be merged withmappingFunction- the operator that should generate the new Value- Gibt zurück:
- the result of the merge
-
mergeAllShort
Beschreibung aus Schnittstelle kopiert:Object2ShortMapA Bulk method for merging Maps. If the generated value equals the getDefaultReturnValue it will simply not insert it since that is treated as "null". A "Null Value" will be treated as "Do not insert/remove" based on how the Java has specified it.- Angegeben von:
mergeAllShortin SchnittstelleObject2ShortMap<T>- Setzt außer Kraft:
mergeAllShortin KlasseAbstractObject2ShortMap<T>- Parameter:
m- the entries that should be bulk addedmappingFunction- the operator that should generate the new Value
-
size
public int size() -
clear
public void clear() -
trim
public boolean trim(int size) Beschreibung aus Schnittstelle kopiert:ITrimmableTrims the original collection down to the size of the current elements or the requested size depending which is bigger- Angegeben von:
trimin SchnittstelleITrimmable- Parameter:
size- the requested trim size.- Gibt zurück:
- if the internal array has been trimmed.
-
clearAndTrim
public void clearAndTrim(int size) Beschreibung aus Schnittstelle kopiert:ITrimmableTrims the collection down to the requested size and clears all elements while doing so- Angegeben von:
clearAndTrimin SchnittstelleITrimmable- Parameter:
size- the amount of elements that should be allowed
-