| Copyright | (c) Kimiyuki Onaka 2020 | 
|---|---|
| License | Apache License 2.0 | 
| Maintainer | kimiyuki95@gmail.com | 
| Stability | experimental | 
| Portability | portable | 
| Safe Haskell | Safe-Inferred | 
| Language | Haskell2010 | 
Jikka.CPlusPlus.Convert.MoveSemantics
Description
Synopsis
- run :: MonadError Error m => Program -> m Program
 
Documentation
run :: MonadError Error m => Program -> m Program Source #
run replaces superfluous copying.
Examples
Before:
vector<int> solve(vector<int> a) {
    vector<int> b = a;
    b[0] = 1;
    return b;
}After:
vector<int> solve(vector<int> a) {
    a[0] = 1;
    return a;
}Before:
int solve(int a, int b, int x) {
    jikka::convex_hull_trick cht = jikka::convex_hull_trick();
    cht = jikka::convex_hull_trick::persistent_add_line(cht, a, b);
    return cht.get_min(x);
}After:
int solve(int a, int b, int x) {
    jikka::convex_hull_trick cht;
    cht = cht.add_line(a, b);
    return cht.get_min(x);
}