   return platformIDs
 }
 
+/**
+ Get specific information about the OpenCL platform.
+ 
+ - parameter platformID: Platform identifier
+ - parameter param:      An enumeration constant that identifies the platform information being queried. For possible values check the khronos link.
+ 
+ - throws: CLError
+ 
+ - returns: Value for requested param
+ 
+ - seealso: https://www.khronos.org/registry/cl/sdk/1.2/docs/man/xhtml/clGetPlatformInfo.html
+ */
 public func getPlatformInfo(platformID: cl_platform_id, param: Int32) throws -> String {
   
   var length: Int = 0

import Foundation
import OpenCL

///OpenCL Platform
public struct Platform : CustomStringConvertible{
  public let id: cl_platform_id
  public let profile: String
  public let version: String
  public let name: String
  public let vendor: String
  public let extensions: String
  
  public var description: String { return "ID: \(id)\nName: \(name)"
    + "\nVendor: \(vendor)\nVersion: \(version)\nProfile: \(profile)\nExtensions: \(extensions)"}
}


public func listPlatformIDs() throws -> [cl_platform_id] {
  var count: cl_uint = 0
  try CLError.check(clGetPlatformIDs(0, nil, &count))

        extensions: try getPlatformInfo(ID, param: CL_PLATFORM_EXTENSIONS)
        )
    }
}
