Skip to content

Commit 9c10b07

Browse files
author
committed
Deployed 49c4151 with MkDocs version: 1.6.1
0 parents  commit 9c10b07

487 files changed

Lines changed: 256596 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.nojekyll

Whitespace-only changes.

404.html

Lines changed: 998 additions & 0 deletions
Large diffs are not rendered by default.

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
machine.jaculus.org
Lines changed: 82 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,82 @@
1+
2+
# Class List
3+
4+
5+
Here are the classes, structs, unions and interfaces with brief descriptions:
6+
7+
* **namespace** [**jac**](namespacejac.md)
8+
* **class** [**ArrayBufferWrapper**](classjac_1_1ArrayBufferWrapper.md) _A wrapper for JSValue with ArrayBuffer type with RAII._
9+
* **class** [**ArrayWrapper**](classjac_1_1ArrayWrapper.md) _A wrapper for JSValue with Array type with RAII._
10+
* **class** [**Atom**](classjac_1_1Atom.md) _A wrapper around JSAtom with RAII. In the context of QuickJS,_ [_**Atom**_](classjac_1_1Atom.md) _is used to represent identifiers of properties, variables, functions, etc._
11+
* **class** [**BasicStreamFeature**](classjac_1_1BasicStreamFeature.md)
12+
* **class** [**Class**](classjac_1_1Class.md)
13+
* **struct** [**ComposeMachine**](structjac_1_1ComposeMachine.md)
14+
* **struct** [**ComposeMachine< Base >**](structjac_1_1ComposeMachine_3_01Base_01_4.md)
15+
* **struct** [**ComposeMachine< Base, FirstFeature, MFeatures... >**](structjac_1_1ComposeMachine_3_01Base_00_01FirstFeature_00_01MFeatures_8_8_8_01_4.md)
16+
* **class** [**ContextRef**](classjac_1_1ContextRef.md) _A wrapper around JSContext\* providing some related functionality._
17+
* **struct** [**ConvTraits**](structjac_1_1ConvTraits.md)
18+
* **struct** [**ConvTraits< T, std::enable\_if\_t< std::is\_integral\_v< T > &&detail::is\_leq\_i32< T >, T > >**](structjac_1_1ConvTraits_3_01T_00_01std_1_1enable__if__t_3_01std_1_1is__integral__v_3_01T_01_4_013818016e757d16d29218adaa25e8f13d.md)
19+
* **struct** [**ConvTraits< bool >**](structjac_1_1ConvTraits_3_01bool_01_4.md)
20+
* **struct** [**ConvTraits< std::chrono::milliseconds >**](structjac_1_1ConvTraits_3_01std_1_1chrono_1_1milliseconds_01_4.md)
21+
* **class** [**EventLoopFeature**](classjac_1_1EventLoopFeature.md)
22+
* **class** [**EventLoopTerminal**](classjac_1_1EventLoopTerminal.md)
23+
* **class** [**EventQueueFeature**](classjac_1_1EventQueueFeature.md)
24+
* **class** [**ExceptionWrapper**](classjac_1_1ExceptionWrapper.md) _An exception wrapper which can either wrap a JSValue or contain an exception description and can be thrown into JS as a specific Error type._
25+
* **class** [**File**](classjac_1_1File.md)
26+
* **struct** [**FileProtoBuilder**](structjac_1_1FileProtoBuilder.md)
27+
* **class** [**FilesystemFeature**](classjac_1_1FilesystemFeature.md)
28+
* **class** [**Path**](classjac_1_1FilesystemFeature_1_1Path.md)
29+
* **class** [**FunctionFactory**](classjac_1_1FunctionFactory.md) _Various methods for wrapping C++ functions into javascript functions._
30+
* **class** [**FunctionWrapper**](classjac_1_1FunctionWrapper.md) _A wrapper for JSValue with Function type with RAII._
31+
* **class** [**MachineBase**](classjac_1_1MachineBase.md)
32+
* **class** [**Module**](classjac_1_1Module.md) _A wrapper around JSModuleDef that allows for easy exporting of values._
33+
* **class** [**NodeModuleLoaderFeature**](classjac_1_1NodeModuleLoaderFeature.md)
34+
* **class** [**ObjectWrapper**](classjac_1_1ObjectWrapper.md) _A wrapper for JSValue with Object type with RAII._
35+
* **class** [**OsWritable**](classjac_1_1OsWritable.md)
36+
* **class** [**Plugin**](classjac_1_1Plugin.md) _A base class for all plugins._
37+
* **class** [**PluginHandle**](classjac_1_1PluginHandle.md) _A handle which can be used to retrieve a plugin from a machine._
38+
* **class** [**PluginHolderFeature**](classjac_1_1PluginHolderFeature.md) _An MFeature that allows for inserting plugins into the machine and retrieving them using PluginHandeles._
39+
* **class** [**PluginManager**](classjac_1_1PluginManager.md) _A class for managing groups of plugins and initializing them all at once._
40+
* **class** [**PromiseWrapper**](classjac_1_1PromiseWrapper.md) _A wrapper for JSValue with Promise type with RAII._
41+
* **namespace** [**ProtoBuilder**](namespacejac_1_1ProtoBuilder.md)
42+
* **struct** [**Callable**](structjac_1_1ProtoBuilder_1_1Callable.md) _A base class for javascript classes with callable instances._
43+
* **struct** [**LifetimeHandles**](structjac_1_1ProtoBuilder_1_1LifetimeHandles.md) _A base class used to add handles for lifetime events of an instance._
44+
* **struct** [**Opaque**](structjac_1_1ProtoBuilder_1_1Opaque.md) _A base class for javascript classes with opaque data._
45+
* **struct** [**Properties**](structjac_1_1ProtoBuilder_1_1Properties.md) _A base class for javascript classes with added properties._
46+
* **class** [**Readable**](classjac_1_1Readable.md)
47+
* **struct** [**ReadableProtoBuilder**](structjac_1_1ReadableProtoBuilder.md)
48+
* **class** [**ReadableRef**](classjac_1_1ReadableRef.md)
49+
* **struct** [**SgnUnwrap**](structjac_1_1SgnUnwrap.md)
50+
* **struct** [**SgnUnwrap< Res(Args...)>**](structjac_1_1SgnUnwrap_3_01Res_07Args_8_8_8_08_4.md)
51+
* **class** [**SimpleModuleLoaderFeature**](classjac_1_1SimpleModuleLoaderFeature.md)
52+
* **class** [**StdioFeature**](classjac_1_1StdioFeature.md)
53+
* **class** [**StringView**](classjac_1_1StringView.md) _A wrapper around QuickJS C-string with automatic memory management._
54+
* **class** [**TimersFeature**](classjac_1_1TimersFeature.md)
55+
* **class** [**ValueWrapper**](classjac_1_1ValueWrapper.md) _A wrapper around JSValue with RAII._
56+
* **class** [**Writable**](classjac_1_1Writable.md)
57+
* **struct** [**WritableProtoBuilder**](structjac_1_1WritableProtoBuilder.md)
58+
* **class** [**WritableRef**](classjac_1_1WritableRef.md)
59+
* **namespace** [**detail**](namespacejac_1_1detail.md)
60+
* **struct** [**is\_base\_of\_template\_impl**](structjac_1_1detail_1_1is__base__of__template__impl.md)
61+
* **struct** [**check**](structjac_1_1detail_1_1is__base__of__template__impl_1_1check.md)
62+
* **struct** [**check< A, std::void\_t< A< Derived > > >**](structjac_1_1detail_1_1is__base__of__template__impl_1_1check_3_01A_00_01std_1_1void__t_3_01A_3_01Derived_01_4_01_4_01_4.md)
63+
* **struct** [**is\_base\_of\_template**](structjac_1_1is__base__of__template.md) _Checks if a type is derived from a template class._
64+
* **class** [**Fs**](classjac_1_1FilesystemFeature_1_1Fs.md)
65+
* **class** [**Stdio**](classjac_1_1StdioFeature_1_1Stdio.md)
66+
* **class** [**CompareTimer**](classjac_1_1TimersFeature_1_1CompareTimer.md)
67+
* **class** [**Timer**](classjac_1_1TimersFeature_1_1Timer.md)
68+
* **namespace** [**noal**](namespacenoal.md)
69+
* **class** [**callableany**](classnoal_1_1callableany.md)
70+
* **class** [**callableany< Func, Res(Args...)>**](classnoal_1_1callableany_3_01Func_00_01Res_07Args_8_8_8_08_4.md)
71+
* **class** [**funcptr**](classnoal_1_1funcptr.md)
72+
* **class** [**function**](classnoal_1_1function.md)
73+
* **class** [**function< Res(Args...), dataSize >**](classnoal_1_1function_3_01Res_07Args_8_8_8_08_00_01dataSize_01_4.md)
74+
* **class** [**memberconstfuncptr**](classnoal_1_1memberconstfuncptr.md)
75+
* **class** [**memberfuncptr**](classnoal_1_1memberfuncptr.md)
76+
* **struct** [**signatureHelper**](structnoal_1_1signatureHelper.md)
77+
* **struct** [**signatureHelper< Res(Func::\*)(Args...) & >**](structnoal_1_1signatureHelper_3_01Res_07Func_1_1_5_08_07Args_8_8_8_08_01_6_01_4.md)
78+
* **struct** [**signatureHelper< Res(Func::\*)(Args...) const & >**](structnoal_1_1signatureHelper_3_01Res_07Func_1_1_5_08_07Args_8_8_8_08_01const_01_6_01_4.md)
79+
* **struct** [**signatureHelper< Res(Func::\*)(Args...) const >**](structnoal_1_1signatureHelper_3_01Res_07Func_1_1_5_08_07Args_8_8_8_08_01const_01_4.md)
80+
* **struct** [**signatureHelper< Res(Func::\*)(Args...)>**](structnoal_1_1signatureHelper_3_01Res_07Func_1_1_5_08_07Args_8_8_8_08_4.md)
81+
* **namespace** [**std**](namespacestd.md)
82+
Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
2+
3+
# File atom.h
4+
5+
6+
7+
[**FileList**](files.md) **>** [**jac**](dir_256037ad7d0c306238e2bc4f945d341d.md) **>** [**machine**](dir_10e7d6e7bc593e38e57ffe1bab5ed259.md) **>** [**atom.h**](atom_8h.md)
8+
9+
[Go to the source code of this file](atom_8h_source.md)
10+
11+
12+
13+
* `#include <quickjs.h>`
14+
* `#include <ostream>`
15+
* `#include <string>`
16+
* `#include "internal/declarations.h"`
17+
* `#include "context.h"`
18+
* `#include "stringView.h"`
19+
20+
21+
22+
23+
24+
25+
26+
27+
28+
29+
30+
31+
32+
## Namespaces
33+
34+
| Type | Name |
35+
| ---: | :--- |
36+
| namespace | [**jac**](namespacejac.md) <br> |
37+
38+
39+
## Classes
40+
41+
| Type | Name |
42+
| ---: | :--- |
43+
| class | [**Atom**](classjac_1_1Atom.md) <br>_A wrapper around JSAtom with RAII. In the context of QuickJS,_ [_**Atom**_](classjac_1_1Atom.md) _is used to represent identifiers of properties, variables, functions, etc._ |
44+
45+
46+
47+
48+
49+
50+
51+
52+
53+
54+
55+
56+
57+
58+
59+
60+
61+
62+
63+
64+
65+
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+
90+
91+
92+
93+
94+
95+
------------------------------
96+
The documentation for this class was generated from the following file `src/jac/machine/atom.h`
97+
Lines changed: 113 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,113 @@
1+
2+
3+
# File atom.h
4+
5+
[**File List**](files.md) **>** [**jac**](dir_256037ad7d0c306238e2bc4f945d341d.md) **>** [**machine**](dir_10e7d6e7bc593e38e57ffe1bab5ed259.md) **>** [**atom.h**](atom_8h.md)
6+
7+
[Go to the documentation of this file](atom_8h.md)
8+
9+
10+
```C++
11+
#pragma once
12+
13+
#include <quickjs.h>
14+
15+
#include <ostream>
16+
#include <string>
17+
18+
#include "internal/declarations.h"
19+
20+
#include "context.h"
21+
#include "stringView.h"
22+
23+
24+
namespace jac {
25+
26+
27+
template<typename T=int>
28+
constexpr bool static_false() {
29+
return false;
30+
};
31+
32+
33+
class Atom {
34+
protected:
35+
ContextRef _ctx;
36+
JSAtom _atom;
37+
public:
38+
Atom(ContextRef ctx, JSAtom atom) : _ctx(ctx), _atom(atom) {}
39+
Atom(const Atom &other):
40+
_ctx(other._ctx),
41+
_atom(JS_DupAtom(_ctx, other._atom))
42+
{}
43+
Atom(Atom &&other) : _ctx(other._ctx), _atom(other._atom) {
44+
other._atom = JS_ATOM_NULL;
45+
other._ctx = nullptr;
46+
}
47+
48+
Atom& operator=(const Atom &other) {
49+
if (_ctx) {
50+
JS_FreeAtom(_ctx, _atom);
51+
}
52+
_atom = JS_DupAtom(_ctx, other._atom);
53+
_ctx = other._ctx;
54+
55+
return *this;
56+
}
57+
58+
Atom& operator=(Atom &&other) {
59+
if (_ctx) {
60+
JS_FreeAtom(_ctx, _atom);
61+
}
62+
_atom = other._atom;
63+
_ctx = other._ctx;
64+
other._atom = JS_ATOM_NULL;
65+
other._ctx = nullptr;
66+
return *this;
67+
}
68+
69+
~Atom() {
70+
if (_ctx) {
71+
JS_FreeAtom(_ctx, _atom);
72+
}
73+
}
74+
75+
StringView toString() const {
76+
return { _ctx, JS_AtomToCString(_ctx, _atom) };
77+
}
78+
79+
std::pair<ContextRef, JSAtom> loot() {
80+
JSAtom atom_ = _atom;
81+
ContextRef ctx_ = this->_ctx;
82+
_ctx = nullptr;
83+
_atom = JS_ATOM_NULL;
84+
return {ctx_, atom_};
85+
}
86+
87+
JSAtom& get() {
88+
return _atom;
89+
}
90+
91+
static Atom create(ContextRef ctx, uint32_t value) {
92+
return { ctx, JS_NewAtomUInt32(ctx, value) };
93+
}
94+
95+
static Atom create(ContextRef ctx, const char* value) {
96+
return { ctx, JS_NewAtom(ctx, value) };
97+
}
98+
99+
static Atom create(ContextRef ctx, std::string value) {
100+
return create(ctx, value.c_str());
101+
}
102+
103+
friend std::ostream& operator<<(std::ostream& os, Atom& val) {
104+
os << val.toString().c_str();
105+
return os;
106+
}
107+
};
108+
109+
110+
} // namespace jac
111+
```
112+
113+
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
2+
3+
# File basicStreamFeature.h
4+
5+
6+
7+
[**FileList**](files.md) **>** [**features**](dir_6f95e06b732314161804ab1ef73c9681.md) **>** [**basicStreamFeature.h**](basicStreamFeature_8h.md)
8+
9+
[Go to the source code of this file](basicStreamFeature_8h_source.md)
10+
11+
12+
13+
* `#include <jac/machine/class.h>`
14+
* `#include <jac/machine/functionFactory.h>`
15+
* `#include <jac/machine/machine.h>`
16+
* `#include <jac/machine/values.h>`
17+
* `#include <string>`
18+
* `#include "types/streams.h"`
19+
20+
21+
22+
23+
24+
25+
26+
27+
28+
29+
30+
31+
32+
## Namespaces
33+
34+
| Type | Name |
35+
| ---: | :--- |
36+
| namespace | [**jac**](namespacejac.md) <br> |
37+
38+
39+
## Classes
40+
41+
| Type | Name |
42+
| ---: | :--- |
43+
| class | [**BasicStreamFeature**](classjac_1_1BasicStreamFeature.md) &lt;class Next&gt;<br> |
44+
| struct | [**ReadableProtoBuilder**](structjac_1_1ReadableProtoBuilder.md) <br> |
45+
| struct | [**WritableProtoBuilder**](structjac_1_1WritableProtoBuilder.md) <br> |
46+
47+
48+
49+
50+
51+
52+
53+
54+
55+
56+
57+
58+
59+
60+
61+
62+
63+
64+
65+
66+
67+
68+
69+
70+
71+
72+
73+
74+
75+
76+
77+
78+
79+
80+
81+
82+
83+
84+
85+
86+
87+
88+
89+
90+
91+
92+
93+
94+
95+
96+
97+
------------------------------
98+
The documentation for this class was generated from the following file `src/jac/features/basicStreamFeature.h`
99+

0 commit comments

Comments
 (0)