- java.lang.Object
-
- com.io7m.jcoronado.api.VulkanLogicalDeviceCreateInfo
-
- All Implemented Interfaces:
VulkanLogicalDeviceCreateInfoType
public final class VulkanLogicalDeviceCreateInfo extends java.lang.Object implements VulkanLogicalDeviceCreateInfoType
Parameters used to create logical devices.- See Also:
- "VkDeviceCreateInfo"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
VulkanLogicalDeviceCreateInfo.Builder
Builds instances of typeVulkanLogicalDeviceCreateInfo
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static VulkanLogicalDeviceCreateInfo.Builder
builder()
Creates a builder forVulkanLogicalDeviceCreateInfo
.static VulkanLogicalDeviceCreateInfo
copyOf(VulkanLogicalDeviceCreateInfoType instance)
Creates an immutable copy of aVulkanLogicalDeviceCreateInfoType
value.java.util.List<java.lang.String>
enabledExtensions()
java.util.List<java.lang.String>
enabledLayers()
boolean
equals(java.lang.Object another)
This instance is equal to all instances ofVulkanLogicalDeviceCreateInfo
that have equal attribute values.java.util.Optional<VulkanPhysicalDeviceFeatures>
features()
java.util.Set<VulkanLogicalDeviceCreateFlag>
flags()
int
hashCode()
Computes a hash code from attributes:flags
,queueCreateInfos
,enabledLayers
,enabledExtensions
,features
.static VulkanLogicalDeviceCreateInfo
of(java.lang.Iterable<VulkanLogicalDeviceCreateFlag> flags, java.lang.Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> queueCreateInfos, java.lang.Iterable<java.lang.String> enabledLayers, java.lang.Iterable<java.lang.String> enabledExtensions, java.util.Optional<? extends VulkanPhysicalDeviceFeatures> features)
Construct a new immutableVulkanLogicalDeviceCreateInfo
instance.static VulkanLogicalDeviceCreateInfo
of(java.util.Set<VulkanLogicalDeviceCreateFlag> flags, java.util.List<VulkanLogicalDeviceQueueCreateInfo> queueCreateInfos, java.util.List<java.lang.String> enabledLayers, java.util.List<java.lang.String> enabledExtensions, java.util.Optional<VulkanPhysicalDeviceFeatures> features)
Construct a new immutableVulkanLogicalDeviceCreateInfo
instance.java.util.List<VulkanLogicalDeviceQueueCreateInfo>
queueCreateInfos()
java.lang.String
toString()
Prints the immutable valueVulkanLogicalDeviceCreateInfo
with attribute values.VulkanLogicalDeviceCreateInfo
withEnabledExtensions(java.lang.Iterable<java.lang.String> elements)
Copy the current immutable object with elements that replace the content ofenabledExtensions
.VulkanLogicalDeviceCreateInfo
withEnabledExtensions(java.lang.String... elements)
Copy the current immutable object with elements that replace the content ofenabledExtensions
.VulkanLogicalDeviceCreateInfo
withEnabledLayers(java.lang.Iterable<java.lang.String> elements)
Copy the current immutable object with elements that replace the content ofenabledLayers
.VulkanLogicalDeviceCreateInfo
withEnabledLayers(java.lang.String... elements)
Copy the current immutable object with elements that replace the content ofenabledLayers
.VulkanLogicalDeviceCreateInfo
withFeatures(VulkanPhysicalDeviceFeatures value)
Copy the current immutable object by setting a present value for the optionalfeatures
attribute.VulkanLogicalDeviceCreateInfo
withFeatures(java.util.Optional<? extends VulkanPhysicalDeviceFeatures> optional)
Copy the current immutable object by setting an optional value for thefeatures
attribute.VulkanLogicalDeviceCreateInfo
withFlags(VulkanLogicalDeviceCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanLogicalDeviceCreateInfo
withFlags(java.lang.Iterable<VulkanLogicalDeviceCreateFlag> elements)
Copy the current immutable object with elements that replace the content offlags
.VulkanLogicalDeviceCreateInfo
withQueueCreateInfos(VulkanLogicalDeviceQueueCreateInfo... elements)
Copy the current immutable object with elements that replace the content ofqueueCreateInfos
.VulkanLogicalDeviceCreateInfo
withQueueCreateInfos(java.lang.Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> elements)
Copy the current immutable object with elements that replace the content ofqueueCreateInfos
.
-
-
-
Method Detail
-
flags
public java.util.Set<VulkanLogicalDeviceCreateFlag> flags()
- Specified by:
flags
in interfaceVulkanLogicalDeviceCreateInfoType
- Returns:
- The creation flags
-
queueCreateInfos
public java.util.List<VulkanLogicalDeviceQueueCreateInfo> queueCreateInfos()
- Specified by:
queueCreateInfos
in interfaceVulkanLogicalDeviceCreateInfoType
- Returns:
- A list of queues to be created
-
enabledLayers
public java.util.List<java.lang.String> enabledLayers()
- Specified by:
enabledLayers
in interfaceVulkanLogicalDeviceCreateInfoType
- Returns:
- A list of layers to be enabled
-
enabledExtensions
public java.util.List<java.lang.String> enabledExtensions()
- Specified by:
enabledExtensions
in interfaceVulkanLogicalDeviceCreateInfoType
- Returns:
- A list of extensions to be enabled
-
features
public java.util.Optional<VulkanPhysicalDeviceFeatures> features()
- Specified by:
features
in interfaceVulkanLogicalDeviceCreateInfoType
- Returns:
- A set of features to be enabled
-
withFlags
public final VulkanLogicalDeviceCreateInfo withFlags(VulkanLogicalDeviceCreateFlag... elements)
Copy the current immutable object with elements that replace the content offlags
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withFlags
public final VulkanLogicalDeviceCreateInfo withFlags(java.lang.Iterable<VulkanLogicalDeviceCreateFlag> elements)
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
this
object
-
withQueueCreateInfos
public final VulkanLogicalDeviceCreateInfo withQueueCreateInfos(VulkanLogicalDeviceQueueCreateInfo... elements)
Copy the current immutable object with elements that replace the content ofqueueCreateInfos
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withQueueCreateInfos
public final VulkanLogicalDeviceCreateInfo withQueueCreateInfos(java.lang.Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> elements)
Copy the current immutable object with elements that replace the content ofqueueCreateInfos
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of queueCreateInfos elements to set- Returns:
- A modified copy of
this
object
-
withEnabledLayers
public final VulkanLogicalDeviceCreateInfo withEnabledLayers(java.lang.String... elements)
Copy the current immutable object with elements that replace the content ofenabledLayers
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withEnabledLayers
public final VulkanLogicalDeviceCreateInfo withEnabledLayers(java.lang.Iterable<java.lang.String> elements)
Copy the current immutable object with elements that replace the content ofenabledLayers
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of enabledLayers elements to set- Returns:
- A modified copy of
this
object
-
withEnabledExtensions
public final VulkanLogicalDeviceCreateInfo withEnabledExtensions(java.lang.String... elements)
Copy the current immutable object with elements that replace the content ofenabledExtensions
.- Parameters:
elements
- The elements to set- Returns:
- A modified copy of
this
object
-
withEnabledExtensions
public final VulkanLogicalDeviceCreateInfo withEnabledExtensions(java.lang.Iterable<java.lang.String> elements)
Copy the current immutable object with elements that replace the content ofenabledExtensions
. A shallow reference equality check is used to prevent copying of the same value by returningthis
.- Parameters:
elements
- An iterable of enabledExtensions elements to set- Returns:
- A modified copy of
this
object
-
withFeatures
public final VulkanLogicalDeviceCreateInfo withFeatures(VulkanPhysicalDeviceFeatures value)
Copy the current immutable object by setting a present value for the optionalfeatures
attribute.- Parameters:
value
- The value for features- Returns:
- A modified copy of
this
object
-
withFeatures
public final VulkanLogicalDeviceCreateInfo withFeatures(java.util.Optional<? extends VulkanPhysicalDeviceFeatures> optional)
Copy the current immutable object by setting an optional value for thefeatures
attribute. A shallow reference equality check is used on unboxed optional value to prevent copying of the same value by returningthis
.- Parameters:
optional
- A value for features- Returns:
- A modified copy of
this
object
-
equals
public boolean equals(java.lang.Object another)
This instance is equal to all instances ofVulkanLogicalDeviceCreateInfo
that have equal attribute values.- Overrides:
equals
in classjava.lang.Object
- Returns:
true
ifthis
is equal toanother
instance
-
hashCode
public int hashCode()
Computes a hash code from attributes:flags
,queueCreateInfos
,enabledLayers
,enabledExtensions
,features
.- Overrides:
hashCode
in classjava.lang.Object
- Returns:
- hashCode value
-
toString
public java.lang.String toString()
Prints the immutable valueVulkanLogicalDeviceCreateInfo
with attribute values.- Overrides:
toString
in classjava.lang.Object
- Returns:
- A string representation of the value
-
of
public static VulkanLogicalDeviceCreateInfo of(java.util.Set<VulkanLogicalDeviceCreateFlag> flags, java.util.List<VulkanLogicalDeviceQueueCreateInfo> queueCreateInfos, java.util.List<java.lang.String> enabledLayers, java.util.List<java.lang.String> enabledExtensions, java.util.Optional<VulkanPhysicalDeviceFeatures> features)
Construct a new immutableVulkanLogicalDeviceCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributequeueCreateInfos
- The value for thequeueCreateInfos
attributeenabledLayers
- The value for theenabledLayers
attributeenabledExtensions
- The value for theenabledExtensions
attributefeatures
- The value for thefeatures
attribute- Returns:
- An immutable VulkanLogicalDeviceCreateInfo instance
-
of
public static VulkanLogicalDeviceCreateInfo of(java.lang.Iterable<VulkanLogicalDeviceCreateFlag> flags, java.lang.Iterable<? extends VulkanLogicalDeviceQueueCreateInfo> queueCreateInfos, java.lang.Iterable<java.lang.String> enabledLayers, java.lang.Iterable<java.lang.String> enabledExtensions, java.util.Optional<? extends VulkanPhysicalDeviceFeatures> features)
Construct a new immutableVulkanLogicalDeviceCreateInfo
instance.- Parameters:
flags
- The value for theflags
attributequeueCreateInfos
- The value for thequeueCreateInfos
attributeenabledLayers
- The value for theenabledLayers
attributeenabledExtensions
- The value for theenabledExtensions
attributefeatures
- The value for thefeatures
attribute- Returns:
- An immutable VulkanLogicalDeviceCreateInfo instance
-
copyOf
public static VulkanLogicalDeviceCreateInfo copyOf(VulkanLogicalDeviceCreateInfoType instance)
Creates an immutable copy of aVulkanLogicalDeviceCreateInfoType
value. 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 VulkanLogicalDeviceCreateInfo instance
-
builder
public static VulkanLogicalDeviceCreateInfo.Builder builder()
Creates a builder forVulkanLogicalDeviceCreateInfo
.- Returns:
- A new VulkanLogicalDeviceCreateInfo builder
-
-