Loading...
Searching...
No Matches
nBool.hpp
Go to the documentation of this file.
1
2#pragma once
3
5
6namespace by {
7
13 class _nout nBool: public tscalar<nbool> {
18 class _nout wBoolType: public ntype {
19 public:
20 nbool isImmutable() const override;
21 const std::string& getName() const override;
22
23 protected:
24 const impliAses& _getImpliAses() const override;
25 const ases& _getAses() const override;
26 };
27
28 BY(CLASS(nBool, tscalar, wBoolType), VISIT())
29
30 public:
31 nBool() = default;
33
34 public:
35 tstr<scalar> bitwiseNot() const override;
36
37 const baseObj& getOrigin() const override;
38
39 protected:
40 tstr<scalar> _add(const scalar& rhs, nbool reversed) const override;
41 tstr<scalar> _sub(const scalar& rhs, nbool reversed) const override;
42 tstr<scalar> _mul(const scalar& rhs, nbool reversed) const override;
43 tstr<scalar> _div(const scalar& rhs, nbool reversed) const override;
44 tstr<scalar> _mod(const scalar& rhs, nbool reversed) const override;
45 tstr<scalar> _bitwiseAnd(const scalar& rhs, nbool reversed) const override;
46 tstr<scalar> _bitwiseOr(const scalar& rhs, nbool reversed) const override;
47 tstr<scalar> _bitwiseXor(const scalar& rhs, nbool reversed) const override;
48 tstr<scalar> _lshift(const scalar& rhs, nbool reversed) const override;
49 tstr<scalar> _rshift(const scalar& rhs, nbool reversed) const override;
50
51 nbool _eq(const scalar& rhs) const override;
52 nbool _ne(const scalar& rhs) const override;
53 nbool _gt(const scalar& rhs) const override;
54 nbool _lt(const scalar& rhs) const override;
55 nbool _ge(const scalar& rhs) const override;
56 nbool _le(const scalar& rhs) const override;
57 nbool _logicalAnd(const scalar& rhs) const override;
58 nbool _logicalOr(const scalar& rhs) const override;
59
60 scalar& _mov(const scalar& rhs) override;
61 };
62} // namespace by
Collection of type converters.
Definition ases.hpp:13
Base class for representing byeol objects.
Definition baseObj.hpp:73
Implicit type conversion collection.
Definition impliAses.hpp:12
Boolean primitive type in byeol language.
Definition nBool.hpp:13
represents native c++ type system for byeol language
Definition ntype.hpp:33
Base class for arithmetic operations on primitive types.
Definition scalar.hpp:14
Definition tnarr.hpp:9
Definition tscalar.hpp:13
to Top