Class VulkanQueryPoolCreateInfo
java.lang.Object
com.io7m.jcoronado.api.VulkanQueryPoolCreateInfo
- All Implemented Interfaces:
VulkanQueryPoolCreateInfoType
public final class VulkanQueryPoolCreateInfo
extends Object
implements VulkanQueryPoolCreateInfoType
Structure specifying parameters of a newly created query pool.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classBuilds instances of typeVulkanQueryPoolCreateInfo. -
Method Summary
Modifier and TypeMethodDescriptionbuilder()Creates a builder forVulkanQueryPoolCreateInfo.static VulkanQueryPoolCreateInfocopyOf(VulkanQueryPoolCreateInfoType instance) Creates an immutable copy of aVulkanQueryPoolCreateInfoTypevalue.booleanThis instance is equal to all instances ofVulkanQueryPoolCreateInfothat have equal attribute values.flags()inthashCode()Computes a hash code from attributes:flags,queryType,queryCount,pipelineStatistics.static VulkanQueryPoolCreateInfoof(Iterable<VulkanQueryPoolCreateFlag> flags, VulkanQueryKind queryType, int queryCount, Iterable<VulkanQueryPipelineStatisticFlag> pipelineStatistics) Construct a new immutableVulkanQueryPoolCreateInfoinstance.static VulkanQueryPoolCreateInfoof(Set<VulkanQueryPoolCreateFlag> flags, VulkanQueryKind queryType, int queryCount, Set<VulkanQueryPipelineStatisticFlag> pipelineStatistics) Construct a new immutableVulkanQueryPoolCreateInfoinstance.inttoString()Prints the immutable valueVulkanQueryPoolCreateInfowith attribute values.withFlags(VulkanQueryPoolCreateFlag... elements) Copy the current immutable object with elements that replace the content offlags.withFlags(Iterable<VulkanQueryPoolCreateFlag> elements) Copy the current immutable object with elements that replace the content offlags.withPipelineStatistics(VulkanQueryPipelineStatisticFlag... elements) Copy the current immutable object with elements that replace the content ofpipelineStatistics.Copy the current immutable object with elements that replace the content ofpipelineStatistics.withQueryCount(int value) Copy the current immutable object by setting a value for thequeryCountattribute.withQueryType(VulkanQueryKind value) Copy the current immutable object by setting a value for thequeryTypeattribute.
-
Method Details
-
flags
- Specified by:
flagsin interfaceVulkanQueryPoolCreateInfoType- Returns:
- A set of flags specifying the creation of the pool
-
queryType
- Specified by:
queryTypein interfaceVulkanQueryPoolCreateInfoType- Returns:
- A value specifying the type of queries managed by the pool.
-
queryCount
public int queryCount()- Specified by:
queryCountin interfaceVulkanQueryPoolCreateInfoType- Returns:
- The number of queries managed by the pool.
-
pipelineStatistics
- Specified by:
pipelineStatisticsin interfaceVulkanQueryPoolCreateInfoType- Returns:
- A set of flags specifying which counters will be returned in queries on the new pool
-
withFlags
Copy the current immutable object with elements that replace the content offlags.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withFlags
Copy the current immutable object with elements that replace the content offlags. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of flags elements to set- Returns:
- A modified copy of
thisobject
-
withQueryType
Copy the current immutable object by setting a value for thequeryTypeattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for queryType- Returns:
- A modified copy of the
thisobject
-
withQueryCount
Copy the current immutable object by setting a value for thequeryCountattribute. A value equality check is used to prevent copying of the same value by returningthis.- Parameters:
value- A new value for queryCount- Returns:
- A modified copy of the
thisobject
-
withPipelineStatistics
public final VulkanQueryPoolCreateInfo withPipelineStatistics(VulkanQueryPipelineStatisticFlag... elements) Copy the current immutable object with elements that replace the content ofpipelineStatistics.- Parameters:
elements- The elements to set- Returns:
- A modified copy of
thisobject
-
withPipelineStatistics
public final VulkanQueryPoolCreateInfo withPipelineStatistics(Iterable<VulkanQueryPipelineStatisticFlag> elements) Copy the current immutable object with elements that replace the content ofpipelineStatistics. A shallow reference equality check is used to prevent copying of the same value by returningthis.- Parameters:
elements- An iterable of pipelineStatistics elements to set- Returns:
- A modified copy of
thisobject
-
equals
-
hashCode
-
toString
-
of
public static VulkanQueryPoolCreateInfo of(Set<VulkanQueryPoolCreateFlag> flags, VulkanQueryKind queryType, int queryCount, Set<VulkanQueryPipelineStatisticFlag> pipelineStatistics) Construct a new immutableVulkanQueryPoolCreateInfoinstance.- Parameters:
flags- The value for theflagsattributequeryType- The value for thequeryTypeattributequeryCount- The value for thequeryCountattributepipelineStatistics- The value for thepipelineStatisticsattribute- Returns:
- An immutable VulkanQueryPoolCreateInfo instance
-
of
public static VulkanQueryPoolCreateInfo of(Iterable<VulkanQueryPoolCreateFlag> flags, VulkanQueryKind queryType, int queryCount, Iterable<VulkanQueryPipelineStatisticFlag> pipelineStatistics) Construct a new immutableVulkanQueryPoolCreateInfoinstance.- Parameters:
flags- The value for theflagsattributequeryType- The value for thequeryTypeattributequeryCount- The value for thequeryCountattributepipelineStatistics- The value for thepipelineStatisticsattribute- Returns:
- An immutable VulkanQueryPoolCreateInfo instance
-
copyOf
Creates an immutable copy of aVulkanQueryPoolCreateInfoTypevalue. Uses accessors to get values to initialize the new immutable instance. If an instance is already immutable, it is returned as is.- Parameters:
instance- The instance to copy- Returns:
- A copied immutable VulkanQueryPoolCreateInfo instance
-
builder
Creates a builder forVulkanQueryPoolCreateInfo.VulkanQueryPoolCreateInfo.builder() .addFlags|addAllFlags(com.io7m.jcoronado.api.VulkanQueryPoolCreateFlag) //flagselements .setQueryType(com.io7m.jcoronado.api.VulkanQueryKind) // requiredqueryType.setQueryCount(int) // requiredqueryCount.addPipelineStatistics|addAllPipelineStatistics(com.io7m.jcoronado.api.VulkanQueryPipelineStatisticFlag) //pipelineStatisticselements .build();- Returns:
- A new VulkanQueryPoolCreateInfo builder
-