defmodule CPSolver.Utils.Vector do require Aja.Vector def new(list) when is_list(list) do Aja.Vector.new(list) end def size(vector) when is_struct(vector, Aja.Vector) do Aja.Vector.size(vector) end def at(vector, pos) when is_struct(vector, Aja.Vector) do Aja.Vector.at(vector, pos) end def map(vector, mapper) when is_struct(vector, Aja.Vector) and is_function(mapper, 1) do Aja.Vector.map(vector, mapper) end def append(vector, el) when is_struct(vector, Aja.Vector) do Aja.Vector.append(vector, el) end def to_list(vector) when is_struct(vector, Aja.Vector) do Aja.Vector.to_list(vector) end end