File: mhandles.nim

package info (click to toggle)
nim 2.2.4-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 1,951,160 kB
  • sloc: sh: 24,599; ansic: 1,771; python: 1,493; makefile: 1,013; sql: 298; asm: 141; xml: 13
file content (19 lines) | stat: -rw-r--r-- 271 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
type
  FD* = distinct cint

type
  AnyFD* = concept fd
    close(fd)

proc close*(fd: FD) =
  discard

type
  Handle*[T: AnyFD] = object
    fd: T

proc close*[T: AnyFD](h: var Handle[T]) =
  close h.fd

proc initHandle*[T: AnyFD](fd: T): Handle[T] =
  Handle[T](fd: fd)