File: lense-to-cursor.cpp

package info (click to toggle)
lager 0.1.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 2,904 kB
  • sloc: cpp: 10,868; javascript: 10,433; makefile: 214; python: 100; sh: 98
file content (18 lines) | stat: -rw-r--r-- 374 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// clang-format off
#include <lager/cursor.hpp>
#include <lager/lenses.hpp>
#include <lager/state.hpp>

#include "setup.hpp"

int main()
{
    auto st = lager::make_state(Model{});
    auto l = lager::lenses::attr(&Model::foo);

    lager::cursor<Foo> foo_cursor = st.zoom(l); // happy path

    lager::cursor<std::string> a = st.zoom(l); // offending line

    return 0;
}