| test: val array()... |
| test: template<typename T> val array(const std::vector<T> vec)... |
| test: template<typename Iter> val array(Iter begin, Iter end)... |
| test: val object()... |
| test: val undefined()... |
| test: val null()... |
| test: val global(const char* name = 0)... |
| test: template<typename T> explicit val(T&& value)... |
| test: val(const char* v)... |
| test: val()... |
| test: bool isNull()... |
| test: bool isUndefined()... |
| test: bool isTrue()... |
| test: bool isFalse()... |
| test: bool isNumber()... |
| test: bool isString()... |
| test: bool isArray()... |
| test: bool equals(const val& v)... |
| test: bool operator==(const val& v)... |
| test: bool operator!=(const val& v)... |
| test: bool strictlyEquals(const val& v)... |
| test: bool operator>(const val& v)... |
| test: bool operator>= (const val& v)... |
| test: bool operator<(const val& v)... |
| test: bool operator<= (const val& v)... |
| test: bool operator!()... |
| test: template<typename... Args> val new_(Args&&... args)... |
| test: template<typename T> val operator[](const T& key)... |
| test: template<typename K, typename V> void set(const K& key, const V& value)... |
| test: template<typename... Args> val operator()(Args&&... args)... |
| test: template<typename ReturnValue, typename... Args> ReturnValue call(const char* name, Args&&... args)... |
| test: template<typename T, typename ...Policies> T as(Policies...)... |
| test: val typeOf()... |
| test: bool instanceof(const val& v)... |
| test: bool in(const val& v)... |
| test: template<typename T> bool delete_(const T& property)... |
| test: void throw_() const... |
| test: template<typename T> std::vector<T> vecFromJSArray(const val& v)... |
| test: template<typename T> std::vector<T *> vecFromJSArray(const val& v)... |
| test: template<typename T> std::vector<T> convertJSArrayToNumberVector(const val& v)... |
| test: val u8string(const char* s)... |
| test: val u16string(const char16_t* s)... |
| end |