com.google.flatbuffers.FlatBufferBuilder.startObject()方法的使用及代码示例

x33g5p2x  于2022-01-19 转载在 其他  
字(7.8k)|赞(0)|评价(0)|浏览(153)

本文整理了Java中com.google.flatbuffers.FlatBufferBuilder.startObject()方法的一些代码示例,展示了FlatBufferBuilder.startObject()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。FlatBufferBuilder.startObject()方法的具体详情如下:
包路径:com.google.flatbuffers.FlatBufferBuilder
类名称:FlatBufferBuilder
方法名:startObject

FlatBufferBuilder.startObject介绍

[英]Start encoding a new object in the buffer. Users will not usually need to call this directly. The FlatBuffers compiler will generate helper methods that call this method internally.

For example, using the "Monster" code found on the landing page. An object of type Monster can be created using the following code:

int testArrayOfString = Monster.createTestarrayofstringVector(fbb, new int[] ); 
Monster.startMonster(fbb); 
Monster.addPos(fbb, Vec3.createVec3(fbb, 1.0f, 2.0f, 3.0f, 3.0, 
Color.Green, (short)5, (byte)6)); 
Monster.addHp(fbb, (short)80); 
Monster.addName(fbb, str); 
Monster.addInventory(fbb, inv); 
Monster.addTestType(fbb, (byte)Any.Monster); 
Monster.addTest(fbb, mon2); 
Monster.addTest4(fbb, test4); 
Monster.addTestarrayofstring(fbb, testArrayOfString); 
int mon = Monster.endMonster(fbb); 
}

Here:

  • The call to Monster#startMonster(FlatBufferBuilder) will call this method with the right number of fields set.
  • Monster#endMonster(FlatBufferBuilder) will ensure #endObject() is called.

It's not recommended to call this method directly. If it's called manually, you must ensure to audit all calls to it whenever fields are added or removed from your schema. This is automatically done by the code generated by the FlatBuffers compiler.
[中]开始对缓冲区中的新对象进行编码。用户通常不需要直接调用它。FlatBuffers编译器将生成在内部调用此方法的帮助器方法。
例如,使用landing page上的“Monster”代码。可以使用以下代码创建Monster类型的对象:

int testArrayOfString = Monster.createTestarrayofstringVector(fbb, new int[] ); 
Monster.startMonster(fbb); 
Monster.addPos(fbb, Vec3.createVec3(fbb, 1.0f, 2.0f, 3.0f, 3.0, 
Color.Green, (short)5, (byte)6)); 
Monster.addHp(fbb, (short)80); 
Monster.addName(fbb, str); 
Monster.addInventory(fbb, inv); 
Monster.addTestType(fbb, (byte)Any.Monster); 
Monster.addTest(fbb, mon2); 
Monster.addTest4(fbb, test4); 
Monster.addTestarrayofstring(fbb, testArrayOfString); 
int mon = Monster.endMonster(fbb); 
}

在这里:
*对Monster#startMonster(FlatBufferBuilder)的调用将调用此方法,并设置正确数量的字段。
*Monster#endMonster(FlatBufferBuilder)将确保调用#endObject()。
不建议直接调用此方法。如果它是手动调用的,则必须确保在架构中添加或删除字段时审核对它的所有调用。这是由FlatBuffers编译器生成的代码自动完成的。

代码示例

代码示例来源:origin: objectbox/objectbox-java

public static void startModelEntity(FlatBufferBuilder builder) { builder.startObject(7); }
public static void addId(FlatBufferBuilder builder, int idOffset) { builder.addStruct(0, idOffset, 0); }

代码示例来源:origin: objectbox/objectbox-java

public static void startModel(FlatBufferBuilder builder) { builder.startObject(8); }
public static void addModelVersion(FlatBufferBuilder builder, long modelVersion) { builder.addInt(0, (int)modelVersion, (int)0L); }

代码示例来源:origin: objectbox/objectbox-java

public static void startModelProperty(FlatBufferBuilder builder) { builder.startObject(9); }
public static void addId(FlatBufferBuilder builder, int idOffset) { builder.addStruct(0, idOffset, 0); }

代码示例来源:origin: objectbox/objectbox-java

public static void startModelRelation(FlatBufferBuilder builder) { builder.startObject(3); }
public static void addId(FlatBufferBuilder builder, int idOffset) { builder.addStruct(0, idOffset, 0); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startIntTriple(FlatBufferBuilder builder) { builder.startObject(3); }
public static void addFirst(FlatBufferBuilder builder, int first) { builder.addInt(0, first, 0); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startFlatGraph(FlatBufferBuilder builder) { builder.startObject(5); }
public static void addId(FlatBufferBuilder builder, long id) { builder.addLong(0, id, 0L); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startFlatConfiguration(FlatBufferBuilder builder) { builder.startObject(8); }
public static void addId(FlatBufferBuilder builder, long id) { builder.addLong(0, id, 0L); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startFlatArray(FlatBufferBuilder builder) { builder.startObject(4); }
public static void addShape(FlatBufferBuilder builder, int shapeOffset) { builder.addOffset(0, shapeOffset, 0); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startFlatNode(FlatBufferBuilder builder) { builder.startObject(16); }
public static void addId(FlatBufferBuilder builder, int id) { builder.addInt(0, id, 0); }

代码示例来源:origin: deeplearning4j/nd4j

public static void startFlatProperties(FlatBufferBuilder builder) { builder.startObject(5); }
public static void addName(FlatBufferBuilder builder, int nameOffset) { builder.addOffset(0, nameOffset, 0); }

代码示例来源:origin: deeplearning4j/nd4j

public static int createIntPair(FlatBufferBuilder builder,
  int first,
  int second) {
 builder.startObject(2);
 IntPair.addSecond(builder, second);
 IntPair.addFirst(builder, first);
 return IntPair.endIntPair(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createLongPair(FlatBufferBuilder builder,
  long first,
  long second) {
 builder.startObject(2);
 LongPair.addSecond(builder, second);
 LongPair.addFirst(builder, first);
 return LongPair.endLongPair(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createLongTriple(FlatBufferBuilder builder,
  long first,
  long second,
  long third) {
 builder.startObject(3);
 LongTriple.addThird(builder, third);
 LongTriple.addSecond(builder, second);
 LongTriple.addFirst(builder, first);
 return LongTriple.endLongTriple(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createIntTriple(FlatBufferBuilder builder,
  int first,
  int second,
  int third) {
 builder.startObject(3);
 IntTriple.addThird(builder, third);
 IntTriple.addSecond(builder, second);
 IntTriple.addFirst(builder, first);
 return IntTriple.endIntTriple(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatTiming(FlatBufferBuilder builder,
  int id,
  int nameOffset,
  int timingOffset) {
 builder.startObject(3);
 FlatTiming.addTiming(builder, timingOffset);
 FlatTiming.addName(builder, nameOffset);
 FlatTiming.addId(builder, id);
 return FlatTiming.endFlatTiming(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatArray(FlatBufferBuilder builder,
  int shapeOffset,
  int bufferOffset,
  byte dtype,
  byte byteOrder) {
 builder.startObject(4);
 FlatArray.addBuffer(builder, bufferOffset);
 FlatArray.addShape(builder, shapeOffset);
 FlatArray.addByteOrder(builder, byteOrder);
 FlatArray.addDtype(builder, dtype);
 return FlatArray.endFlatArray(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatProperties(FlatBufferBuilder builder,
  int nameOffset,
  int iOffset,
  int lOffset,
  int dOffset,
  int aOffset) {
 builder.startObject(5);
 FlatProperties.addA(builder, aOffset);
 FlatProperties.addD(builder, dOffset);
 FlatProperties.addL(builder, lOffset);
 FlatProperties.addI(builder, iOffset);
 FlatProperties.addName(builder, nameOffset);
 return FlatProperties.endFlatProperties(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatVariable(FlatBufferBuilder builder,
  int idOffset,
  int nameOffset,
  int shapeOffset,
  int ndarrayOffset,
  int device) {
 builder.startObject(5);
 FlatVariable.addDevice(builder, device);
 FlatVariable.addNdarray(builder, ndarrayOffset);
 FlatVariable.addShape(builder, shapeOffset);
 FlatVariable.addName(builder, nameOffset);
 FlatVariable.addId(builder, idOffset);
 return FlatVariable.endFlatVariable(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatGraph(FlatBufferBuilder builder,
  long id,
  int variablesOffset,
  int nodesOffset,
  int outputsOffset,
  int configurationOffset) {
 builder.startObject(5);
 FlatGraph.addId(builder, id);
 FlatGraph.addConfiguration(builder, configurationOffset);
 FlatGraph.addOutputs(builder, outputsOffset);
 FlatGraph.addNodes(builder, nodesOffset);
 FlatGraph.addVariables(builder, variablesOffset);
 return FlatGraph.endFlatGraph(builder);
}

代码示例来源:origin: deeplearning4j/nd4j

public static int createFlatResult(FlatBufferBuilder builder,
  long id,
  int variablesOffset,
  int timingOffset,
  long footprintForward,
  long footprintBackward) {
 builder.startObject(5);
 FlatResult.addFootprintBackward(builder, footprintBackward);
 FlatResult.addFootprintForward(builder, footprintForward);
 FlatResult.addId(builder, id);
 FlatResult.addTiming(builder, timingOffset);
 FlatResult.addVariables(builder, variablesOffset);
 return FlatResult.endFlatResult(builder);
}

相关文章

微信公众号

最新文章

更多