aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/scalam/io/package.scala
blob: 4f1ef09a98f2b4be6246cf9e73f79392e4ed9558 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
package scalam

import scalax.file.Path
import breeze.linalg._

package object io {

  def load[A: Loadable](path: Path): A = {
    val loadable = implicitly[Loadable[A]]
    loadable.load(path)
  }

  def save[A <% Saveable](objectToSave: A, path: Path) = {
    path.createFile(createParents = true, failIfExists = false)
    for (processor <- path.outputProcessor; out = processor.asOutput)
      objectToSave.save(out)
  }
  
}