# Struct ocl::Context [−] [src]

    pub struct Context(_);

A context for a particular platform and set of device types.

Thread safety and destruction for any enclosed pointers are all handled automatically. Clone, store, and share between threads to your heart's content.

## Methods

### `impl Context`
[src]

#### `pub fn builder() -> ContextBuilder`
[src]

Returns a `ContextBuilder`.

This is the preferred way to create a Context.

#### `pub fn new(
properties: Option<ContextProperties>,
device_spec: Option<DeviceSpecifier>,
pfn_notify: Option<CreateContextCallbackFn>,
user_data: Option<UserDataPtr>
) -> OclResult<Context>`
[src]

Returns a newly created context.

Prefer `Context::builder()...` instead of this method unless you know what you're doing. Please also immediately contact us if you do, in fact, know what you're doing so that you can be added to the development team as the one who does.

## Defaults

- The 'NULL' platform (which is not to be relied on but is generally the first avaliable).
- All devices associated with the 'NULL' platform
- No notify callback function or user data.

Don't rely on these defaults, instead rely on the `ContextBuilder` defaults. In other words, use: `Context::builder().build().unwrap()` rather than `Context::new(None, None, None, None).unwrap()`.

## Panics

[TEMPORARY] Passing a `Some` variant for `pfn_notify` or `user_data` is not yet supported. File an issue if you need this.

####
ⓘImportant traits for Vec<u8>

### Important traits for Vec<u8>

`impl Write for Vec<u8>`
`pub fn resolve_wrapping_device_idxs(&self, idxs: &[usize]) -> Vec<Device>`
[src]

Resolves a list of zero-based device indices into a list of Devices.

If any index is out of bounds it will wrap around zero (%) to the next valid device index.

#### `pub fn get_device_by_wrapping_index(&self, index: usize) -> Device`
[src]

Returns a device by its ordinal count within this context.

Round-robins (%) to the next valid device.

#### `pub fn platform_info(
&self,
info_kind: PlatformInfo
) -> OclCoreResult<PlatformInfoResult>`
[src]

Returns info about the platform associated with the context.

#### `pub fn device_info(
&self,
index: usize,
info_kind: DeviceInfo
) -> OclCoreResult<DeviceInfoResult>`
[src]

Returns info about the device indexed by `index` associated with this context.

#### `pub fn info(&self, info_kind: ContextInfo) -> OclCoreResult<ContextInfoResult>`
[src]

Returns info about the context.

#### `pub fn as_core(&self) -> &ContextCore`
[src]

Returns a reference to the core pointer wrapper, usable by functions in the `core` module.

####
ⓘImportant traits for Vec<u8>

### Important traits for Vec<u8>

`impl Write for Vec<u8>`
`pub fn devices(&self) -> Vec<Device>`
[src]

Returns the list of devices associated with this context.

Panics upon any OpenCL error.

#### `pub fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>`
[src]

Returns the list of device versions associated with this context.

#### `pub fn platform(&self) -> OclCoreResult<Option<Platform>>`
[src]

Returns the platform this context is associated with.

## Methods from Deref<Target = ContextCore>

#### `pub fn as_ptr(&self) -> *mut c_void`
[src]

Returns a pointer, do not store it.

#### `pub fn devices(&self) -> Result<Vec<DeviceId>, Error>`
[src]

Returns the devices associated with this context.

#### `pub fn platform(&self) -> Result<Option<PlatformId>, Error>`
[src]

Returns the platform associated with this context, if any.

Errors upon the usual OpenCL errors.

Returns `None` if the context properties do not specify a platform.

## Trait Implementations

### `impl Debug for Context`
[src]

#### `fn fmt(&self, __arg_0: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter. Read more

### `impl Clone for Context`
[src]

#### `fn clone(&self) -> Context`
[src]

Returns a copy of the value. Read more

#### `fn clone_from(&mut self, source: &Self)`
1.0.0
[src]

Performs copy-assignment from `source`. Read more

### `impl From<ContextCore> for Context`
[src]

#### `fn from(c: ContextCore) -> Context`
[src]

Performs the conversion.

### `impl Display for Context`
[src]

#### `fn fmt(&self, f: &mut Formatter) -> Result`
[src]

Formats the value using the given formatter. Read more

### `impl Deref for Context`
[src]

#### `type Target = ContextCore`

The resulting type after dereferencing.

#### `fn deref(&self) -> &ContextCore`
[src]

Dereferences the value.

### `impl DerefMut for Context`
[src]

#### `fn deref_mut(&mut self) -> &mut ContextCore`
[src]

Mutably dereferences the value.

### `impl<'a> ClContextPtr for &'a Context`
[src]

#### `fn as_ptr(&self) -> cl_context`
[src]

### `impl ClVersions for Context`
[src]

#### `fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>`
[src]

#### `fn platform_version(&self) -> OclCoreResult<OpenclVersion>`
[src]

#### `fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>`
[src]

#### `fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>`
[src]

### `impl<'a> ClVersions for &'a Context`
[src]

#### `fn device_versions(&self) -> OclCoreResult<Vec<OpenclVersion>>`
[src]

#### `fn platform_version(&self) -> OclCoreResult<OpenclVersion>`
[src]

#### `fn verify_device_versions(
&self,
required_version: [u16; 2]
) -> Result<(), Error>`
[src]

#### `fn verify_platform_version(
&self,
required_version: [u16; 2]
) -> Result<(), Error>`
[src]

# Help

## Keyboard Shortcuts

`?`
  Show this help dialog
`S`
  Focus the search field
`↑`
  Move up in search results
`↓`
  Move down in search results
`↹`
  Switch tab
`⏎`
  Go to active search result
`+`
  Expand all sections
`-`
  Collapse all sections

## Search Tricks

Prefix searches with a type followed by a colon (e.g. `fn:`) to restrict the search to a given type.

Accepted types are: `fn`, `mod`, `struct`, `enum`, `trait`, `type`, `macro`, and `const`.

Search functions by type signature (e.g. `vec -> usize` or `* -> vec`)