int finishVlens() { vlens = new ArrayList<>(nelems*member.getSize()); int total = 0; for (Array va : vlenList) { total += addVlens(va); } this.nelems = total; bb = ByteBuffer.allocate(total * member.getSizeBytes()); bb.order(ByteOrder.nativeOrder()); for (Array va : vlenList) { copyArrayToBB(va, true, bb); } return total; }
public MemberData(StructureMembers.Member member, int nelems) { this.member = member; this.nelems = nelems; this.dtype = member.getDataType(); this.isVlen = member.isVariableLength(); if (isVlen) vlenList = new ArrayList<>(nelems); else if (dtype == DataType.STRING) stringList = new ArrayList<>(nelems * member.getSize()); else if (dtype == DataType.OPAQUE) opaqueList = new ArrayList<>(nelems * member.getSize()); else if (dtype == DataType.STRUCTURE); else bb = ByteBuffer.allocate(nelems * member.getSizeBytes()); }
int completeVlens() { vlens = new ArrayList<>(nelems); int total = 0; for (Array va : vlenList) { vlens.add((int) va.getSize()); total += va.getSize(); } bb = ByteBuffer.allocate(nelems * member.getSizeBytes()); for (Array va : vlenList) { copyArrayToBB(va, bb); } return total; } }
bb = ByteBuffer.allocate(nelems * member.getSizeBytes()); bb.order(ByteOrder.nativeOrder());
/** * Set the offsets, based on m.getSizeBytes(). * Also sets members.setStructureSize(). * @param members set offsets for these members * @return the total size */ public static int setOffsets(StructureMembers members) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { m.setDataParam(offset); offset += m.getSizeBytes(); // set inner offsets (starts again at 0) if (m.getStructureMembers() != null) setOffsets(m.getStructureMembers()); } members.setStructureSize(offset); return offset; }
/** * Set the offsets, based on m.getSizeBytes(). * Also sets members.setStructureSize(). * @param members set offsets for these members * @return the total size */ public static int setOffsets(StructureMembers members) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { m.setDataParam(offset); offset += m.getSizeBytes(); // set inner offsets (starts again at 0) if (m.getStructureMembers() != null) setOffsets(m.getStructureMembers()); } members.setStructureSize(offset); return offset; }
public static int showOffsets(StructureMembers members, Indent indent, Formatter f) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { f.format("%s%s offset=%d (%d %s = %d bytes)%n", indent, m.getName(), m.getDataParam(), m.getSize(), m.getDataType(), m.getSizeBytes()); if (m.getStructureMembers() != null) { indent.incr(); StructureMembers nested = m.getStructureMembers(); f.format("%n%s%s == %d bytes%n", indent, nested.getName(), nested.getStructureSize()); showOffsets(nested, indent, f); indent.decr(); } } return offset; }
/** * Set the offsets, based on m.getSizeBytes(). * Also sets members.setStructureSize(). * @param members set offsets for these members * @return the total size */ public static int setOffsets(StructureMembers members) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { m.setDataParam(offset); offset += m.getSizeBytes(); // set inner offsets (starts again at 0) if (m.getStructureMembers() != null) setOffsets(m.getStructureMembers()); } members.setStructureSize(offset); return offset; }
public static int showOffsets(StructureMembers members, Indent indent, Formatter f) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { f.format("%s%s offset=%d (%d %s = %d bytes)%n", indent, m.getName(), m.getDataParam(), m.getSize(), m.getDataType(), m.getSizeBytes()); if (m.getStructureMembers() != null) { indent.incr(); StructureMembers nested = m.getStructureMembers(); f.format("%n%s%s == %d bytes%n", indent, nested.getName(), nested.getStructureSize()); showOffsets(nested, indent, f); indent.decr(); } } return offset; }
public static int showOffsets(StructureMembers members, Indent indent, Formatter f) { int offset = 0; for (StructureMembers.Member m : members.getMembers()) { f.format("%s%s offset=%d (%d %s = %d bytes)%n", indent, m.getName(), m.getDataParam(), m.getSize(), m.getDataType(), m.getSizeBytes()); if (m.getStructureMembers() != null) { indent.incr(); StructureMembers nested = m.getStructureMembers(); f.format("%n%s%s == %d bytes%n", indent, nested.getName(), nested.getStructureSize()); showOffsets(nested, indent, f); indent.decr(); } } return offset; }
private void calcStructureSize() { structureSize = 0; for (Member member : members) { structureSize += member.getSizeBytes(); // System.out.println(member.getName()+" size="+member.getTotalSize()); } }
private void calcStructureSize() { structureSize = 0; for (Member member : members) { structureSize += member.getSizeBytes(); // System.out.println(member.getName()+" size="+member.getTotalSize()); } }
private void calcStructureSize() { structureSize = 0; for (Member member : members) { structureSize += member.getSizeBytes(); // System.out.println(member.getName()+" size="+member.getTotalSize()); } }