Remove unnecessary exports

If given type is not used across library interface it's methods can stay private.
As of now this is only test as I am not sure if it doesn't cause problems in wasm build.
This commit is contained in:
Michał Masiukiewicz 2022-10-27 22:33:23 +02:00
parent c0246ce2af
commit 0281fd5c1d
2 changed files with 59 additions and 59 deletions

View file

@ -72,31 +72,31 @@ nothrow:
size_t length; // Used to compute loadFactor size_t length; // Used to compute loadFactor
size_t markerdDeleted; size_t markerdDeleted;
export void clear() void clear()
{ {
elements.clear(); elements.clear();
length = 0; length = 0;
markerdDeleted = 0; markerdDeleted = 0;
} }
export void reset() void reset()
{ {
elements.reset(); elements.reset();
length = 0; length = 0;
markerdDeleted = 0; markerdDeleted = 0;
} }
export bool isIn(ref Key el) bool isIn(ref Key el)
{ {
return getIndex(el) != getIndexEmptyValue; return getIndex(el) != getIndexEmptyValue;
} }
export bool isIn(Key el) bool isIn(Key el)
{ {
return getIndex(el) != getIndexEmptyValue; return getIndex(el) != getIndexEmptyValue;
} }
export Value* getPtr()(auto ref Key k) Value* getPtr()(auto ref Key k)
{ {
size_t index = getIndex(k); size_t index = getIndex(k);
if (index == getIndexEmptyValue) if (index == getIndexEmptyValue)
@ -109,20 +109,20 @@ nothrow:
} }
} }
export ref Value get()(auto ref Key k) ref Value get()(auto ref Key k)
{ {
size_t index = getIndex(k); size_t index = getIndex(k);
assert(index != getIndexEmptyValue); assert(index != getIndexEmptyValue);
return elements[index].keyValue.value; return elements[index].keyValue.value;
} }
deprecated("Use get with second parameter.") export auto ref Value getDefault()( deprecated("Use get with second parameter.") auto ref Value getDefault()(
auto ref Key k, auto ref Value defaultValue) auto ref Key k, auto ref Value defaultValue)
{ {
return get(k, defaultValue); return get(k, defaultValue);
} }
export auto ref Value get()(auto ref Key k, auto ref Value defaultValue) auto ref Value get()(auto ref Key k, auto ref Value defaultValue)
{ {
size_t index = getIndex(k); size_t index = getIndex(k);
if (index == getIndexEmptyValue) if (index == getIndexEmptyValue)
@ -135,7 +135,7 @@ nothrow:
} }
} }
export ref Value getInsertDefault()(auto ref Key k, auto ref Value defaultValue) ref Value getInsertDefault()(auto ref Key k, auto ref Value defaultValue)
{ {
size_t index = getIndex(k); size_t index = getIndex(k);
if (index == getIndexEmptyValue) if (index == getIndexEmptyValue)
@ -148,7 +148,7 @@ nothrow:
} }
export bool tryRemove(Key el) bool tryRemove(Key el)
{ {
size_t index = getIndex(el); size_t index = getIndex(el);
if (index == getIndexEmptyValue) if (index == getIndexEmptyValue)
@ -161,23 +161,23 @@ nothrow:
return true; return true;
} }
export void remove(Key el) void remove(Key el)
{ {
bool ok = tryRemove(el); bool ok = tryRemove(el);
assert(ok); assert(ok);
} }
export ref Value opIndex()(auto ref Key key) ref Value opIndex()(auto ref Key key)
{ {
return get(key); return get(key);
} }
export void opIndexAssign()(auto ref Value value, auto ref Key key) void opIndexAssign()(auto ref Value value, auto ref Key key)
{ {
add(key, value); add(key, value);
} }
export void add()(auto ref Key key, auto ref Value value) void add()(auto ref Key key, auto ref Value value)
{ {
size_t index = getIndex(key); size_t index = getIndex(key);
if (index != getIndexEmptyValue) if (index != getIndexEmptyValue)
@ -221,12 +221,12 @@ nothrow:
//int numA; //int numA;
//int numB; //int numB;
export size_t getIndex(Key el) size_t getIndex(Key el)
{ {
return getIndex(el); return getIndex(el);
} }
export size_t getIndex(ref Key el) size_t getIndex(ref Key el)
{ {
mixin(doNotInline); mixin(doNotInline);
@ -260,7 +260,7 @@ nothrow:
} }
export float getLoadFactor(size_t forElementsNum) float getLoadFactor(size_t forElementsNum)
{ {
if (elements.length == 0) if (elements.length == 0)
{ {
@ -269,7 +269,7 @@ nothrow:
return cast(float) forElementsNum / (elements.length); return cast(float) forElementsNum / (elements.length);
} }
export void rehash()() void rehash()()
{ {
mixin(doNotInline); mixin(doNotInline);
// Get all elements // Get all elements
@ -303,7 +303,7 @@ nothrow:
} }
// foreach support // foreach support
export int opApply(DG)(scope DG dg) int opApply(DG)(scope DG dg)
{ {
int result; int result;
foreach (ref Bucket gr; elements) foreach (ref Bucket gr; elements)
@ -336,7 +336,7 @@ nothrow:
return result; return result;
} }
export int byKey(scope int delegate(ref Key k) dg) int byKey(scope int delegate(ref Key k) dg)
{ {
int result; int result;
foreach (ref Key k; this) foreach (ref Key k; this)
@ -348,7 +348,7 @@ nothrow:
return result; return result;
} }
export int byValue(scope int delegate(ref Value v) dg) int byValue(scope int delegate(ref Value v) dg)
{ {
int result; int result;
foreach (ref Value v; this) foreach (ref Value v; this)
@ -360,7 +360,7 @@ nothrow:
return result; return result;
} }
export int byKeyValue(scope int delegate(ref Key k, ref Value v) dg) int byKeyValue(scope int delegate(ref Key k, ref Value v) dg)
{ {
int result; int result;
foreach (ref Key k, ref Value v; this) foreach (ref Key k, ref Value v; this)

View file

@ -14,13 +14,13 @@ import bubel.ecs.std;
import std.conv : emplace; import std.conv : emplace;
import std.traits : hasMember, isCopyable, TemplateOf, Unqual; import std.traits : hasMember, isCopyable, TemplateOf, Unqual;
export @nogc @safe nothrow pure size_t nextPow2(size_t num) @nogc @safe nothrow pure size_t nextPow2(size_t num)
{ {
return 1 << bsr(num) + 1; return 1 << bsr(num) + 1;
} }
export __gshared size_t gVectorsCreated = 0; __gshared size_t gVectorsCreated = 0;
export __gshared size_t gVectorsDestroyed = 0; __gshared size_t gVectorsDestroyed = 0;
struct Vector(T) struct Vector(T)
{ {
@ -28,19 +28,19 @@ struct Vector(T)
size_t used; size_t used;
public: public:
export this()(T t) this()(T t)
{ {
add(t); add(t);
} }
export this(X)(X[] t) if (is(Unqual!X == Unqual!T)) this(X)(X[] t) if (is(Unqual!X == Unqual!T))
{ {
add(t); add(t);
} }
/*static if (isCopyable!T) { /*static if (isCopyable!T) {
export this(this) { this(this) {
T[] tmp = array[0 .. used]; T[] tmp = array[0 .. used];
array = null; array = null;
used = 0; used = 0;
@ -52,17 +52,17 @@ public:
@disable this(this); @disable this(this);
export ~this() ~this()
{ {
clear(); clear();
} }
export void clear() void clear()
{ {
removeAll(); removeAll();
} }
export void removeAll() void removeAll()
{ {
if (array !is null) if (array !is null)
{ {
@ -77,17 +77,17 @@ public:
used = 0; used = 0;
} }
export bool empty() const bool empty() const
{ {
return (used == 0); return (used == 0);
} }
export size_t length() const size_t length() const
{ {
return used; return used;
} }
export void length(size_t newLength) void length(size_t newLength)
{ {
if (newLength > used) if (newLength > used)
{ {
@ -111,12 +111,12 @@ public:
used = newLength; used = newLength;
} }
export void reset() void reset()
{ {
used = 0; used = 0;
} }
export void reserve(size_t numElements) void reserve(size_t numElements)
{ {
if (numElements > array.length) if (numElements > array.length)
{ {
@ -124,12 +124,12 @@ public:
} }
} }
export size_t capacity() size_t capacity()
{ {
return array.length - used; return array.length - used;
} }
export void extend(size_t newNumOfElements) void extend(size_t newNumOfElements)
{ {
auto oldArray = manualExtend(array, newNumOfElements); auto oldArray = manualExtend(array, newNumOfElements);
if (oldArray !is null) if (oldArray !is null)
@ -138,14 +138,14 @@ public:
} }
} }
export @nogc void freeData(void[] data) @nogc void freeData(void[] data)
{ {
// 0x0F probably invalid value for pointers and other types // 0x0F probably invalid value for pointers and other types
memset(data.ptr, 0x0F, data.length); // Makes bugs show up xD memset(data.ptr, 0x0F, data.length); // Makes bugs show up xD
free(data.ptr); free(data.ptr);
} }
export static void[] manualExtend(ref T[] array, size_t newNumOfElements = 0) static void[] manualExtend(ref T[] array, size_t newNumOfElements = 0)
{ {
if (newNumOfElements == 0) if (newNumOfElements == 0)
newNumOfElements = 2; newNumOfElements = 2;
@ -161,7 +161,7 @@ public:
return (cast(void*) oldArray.ptr)[0 .. oldArray.length * T.sizeof]; return (cast(void*) oldArray.ptr)[0 .. oldArray.length * T.sizeof];
} }
export Vector!T copy()() Vector!T copy()()
{ {
Vector!T duplicate; Vector!T duplicate;
duplicate.reserve(used); duplicate.reserve(used);
@ -169,12 +169,12 @@ public:
return duplicate; return duplicate;
} }
/*export bool canAddWithoutRealloc(uint elemNum = 1) /*bool canAddWithoutRealloc(uint elemNum = 1)
{ {
return used + elemNum <= array.length; return used + elemNum <= array.length;
}*/ }*/
export void add()(T t) void add()(T t)
{ {
if (used >= array.length) if (used >= array.length)
{ {
@ -185,7 +185,7 @@ public:
} }
/// Add element at given position moving others /// Add element at given position moving others
export void add()(T t, size_t pos) void add()(T t, size_t pos)
{ {
assert(pos <= used); assert(pos <= used);
if (used >= array.length) if (used >= array.length)
@ -201,7 +201,7 @@ public:
used++; used++;
} }
export void add(X)(X[] t) if (is(Unqual!X == Unqual!T)) void add(X)(X[] t) if (is(Unqual!X == Unqual!T))
{ {
if (used + t.length > array.length) if (used + t.length > array.length)
{ {
@ -214,7 +214,7 @@ public:
used += t.length; used += t.length;
} }
export void remove(size_t elemNum) void remove(size_t elemNum)
{ {
//destroy(array[elemNum]); //destroy(array[elemNum]);
static if (__traits(hasMember, T, "__xdtor")) static if (__traits(hasMember, T, "__xdtor"))
@ -226,7 +226,7 @@ public:
used--; used--;
} }
export void removeStable()(size_t elemNum) void removeStable()(size_t elemNum)
{ {
used--; used--;
foreach (i; 0 .. used) foreach (i; 0 .. used)
@ -235,7 +235,7 @@ public:
} }
} }
export bool tryRemoveElement()(T elem) bool tryRemoveElement()(T elem)
{ {
foreach (i, ref el; array[0 .. used]) foreach (i, ref el; array[0 .. used])
{ {
@ -248,65 +248,65 @@ public:
return false; return false;
} }
export void removeElement()(T elem) void removeElement()(T elem)
{ {
bool ok = tryRemoveElement(elem); bool ok = tryRemoveElement(elem);
assert(ok, "There is no such an element in vector"); assert(ok, "There is no such an element in vector");
} }
export ref T opIndex(size_t elemNum) const ref T opIndex(size_t elemNum) const
{ {
//debug assert(elemNum < used, "Range violation [index]"); //debug assert(elemNum < used, "Range violation [index]");
return *cast(T*)&array.ptr[elemNum]; return *cast(T*)&array.ptr[elemNum];
} }
export auto opSlice() auto opSlice()
{ {
return array.ptr[0 .. used]; return array.ptr[0 .. used];
} }
export T[] opSlice(size_t x, size_t y) T[] opSlice(size_t x, size_t y)
{ {
assert(y <= used); assert(y <= used);
return array.ptr[x .. y]; return array.ptr[x .. y];
} }
export size_t opDollar() size_t opDollar()
{ {
return used; return used;
} }
export void opAssign(X)(X[] slice) void opAssign(X)(X[] slice)
{ {
reset(); reset();
this ~= slice; this ~= slice;
} }
export void opOpAssign(string op)(T obj) void opOpAssign(string op)(T obj)
{ {
//static assert(op == "~"); //static assert(op == "~");
add(obj); add(obj);
} }
export void opOpAssign(string op, X)(X[] obj) void opOpAssign(string op, X)(X[] obj)
{ {
//static assert(op == "~"); //static assert(op == "~");
add(obj); add(obj);
} }
export void opIndexAssign()(T obj, size_t elemNum) void opIndexAssign()(T obj, size_t elemNum)
{ {
assert(elemNum < used, "Range viloation"); assert(elemNum < used, "Range viloation");
array[elemNum] = obj; array[elemNum] = obj;
} }
export void opSliceAssign()(T[] obj, size_t a, size_t b) void opSliceAssign()(T[] obj, size_t a, size_t b)
{ {
assert(b <= used && a <= b, "Range viloation"); assert(b <= used && a <= b, "Range viloation");
array.ptr[a .. b] = obj; array.ptr[a .. b] = obj;
} }
export bool opEquals()(auto ref const Vector!(T) r) const bool opEquals()(auto ref const Vector!(T) r) const
{ {
return used == r.used && array.ptr[0 .. used] == r.array.ptr[0 .. r.used]; return used == r.used && array.ptr[0 .. used] == r.array.ptr[0 .. r.used];
} }