VL
vl_fwd.h
Go to the documentation of this file.
1#pragma once
2
3#include <memory>
4#include <functional>
5
6namespace vl
7{
8 enum class Type
9 {
10 Bool,
11 Number,
12 String,
13 Object,
14 List,
15 Null,
16 Count
17 };
18
19 class BoolVar;
20 class NumberVar;
21 class StringVar;
22 class ObjectVar;
23 class ListVar;
24 class NullVar;
25 class AbstractVar;
26 class Visitor;
27 class ObjectSetRet;
28
29 class Observable;
30 class Observer;
31
32 // User-friendly type names. Available from the namespace vl
33 // Like vl::Bool
34 typedef BoolVar Bool;
38 typedef ListVar List;
40 typedef NullVar Null;
41 typedef std::shared_ptr<Var> VarPtr;
42
45 extern vl::NullVar emptyVar;
46
47 typedef std::function<void(const vl::Object&)> VoidCbObject;
48 typedef std::function<bool(const vl::Object&)> BoolCbObject;
49}
Definition: vl.h:31
Definition: vl.h:70
Definition: vl.h:265
Definition: vl.h:318
Definition: vl.h:92
Definition: vl.h:173
Definition: vl.h:116
Definition: JSONConverter.h:9
AbstractVar Var
Definition: vl_fwd.h:39
BoolVar Bool
Definition: vl_fwd.h:30
ObjectVar Object
Definition: vl_fwd.h:37
vl::Object nullObject(nullptr)
Definition: vl.h:233
NullVar Null
Definition: vl_fwd.h:40
NumberVar Number
Definition: vl_fwd.h:35
Type
Definition: vl_fwd.h:9
vl::ListVar emptyList
Definition: vl.cpp:17
std::function< bool(const vl::Object &)> BoolCbObject
Definition: vl_fwd.h:48
std::shared_ptr< Var > VarPtr
Definition: vl_fwd.h:41
ListVar List
Definition: vl_fwd.h:38
vl::NullVar emptyVar
Definition: vl.cpp:15
StringVar String
Definition: vl_fwd.h:36
std::function< void(const vl::Object &)> VoidCbObject
Definition: vl_fwd.h:47