로딩중...
검색중...
일치하는것 없음
nStr.hpp
이 파일의 문서화 페이지로 가기
1
2#pragma once
3
6
7namespace by {
8
14 class _nout nStr: public tscalar<std::string>, public tucontainable<nStr> {
15 struct _nout nStrType: public ntype {
16 public:
17 nbool isImmutable() const override;
18 const std::string& getName() const override;
19
20 protected:
21 const ases& _getAses() const override;
22 };
23 BY(CLASS(nStr, tscalar, nStrType), VISIT())
24
25 typedef typename tucontainable<nStr>::iter iter;
27
28 public:
29 nStr() = default;
31 nStr(const nchar* val);
32 nStr(const std::string& val);
33
34 public:
35 nchar operator[](nint n) const;
36
37 public:
38 nint len() const override;
39
40 const baseObj& getOrigin() const override;
41
42 tstr<scalar> bitwiseNot() const override;
43
48
49 nbool in(nidx n) const;
50
51 using super::get;
52 nchar get(nidx n) const;
53
54 using tucontainable<nStr>::add;
55 void add(const iter& here, const iter& from, const iter& to) override;
56 nbool add(const iter& at, const nStr& new1) override;
57
58 using tucontainable<nStr>::set;
59 nbool set(const iter& at, const nStr& new1) override;
60
61 using tucontainable<nStr>::del;
62 nbool del(const iter& at) override;
63 nbool del(const iter& from, const iter& end) override;
64
65 void rel() override;
66
67
68 protected:
69 iteration* _onMakeIteration(ncnt step, nbool isReversed) const override;
70
71 tstr<scalar> _add(const scalar& rhs, nbool reversed) const override;
72 tstr<scalar> _sub(const scalar& rhs, nbool reversed) const override;
73 tstr<scalar> _mul(const scalar& rhs, nbool reversed) const override;
74 tstr<scalar> _div(const scalar& rhs, nbool reversed) const override;
75 tstr<scalar> _mod(const scalar& rhs, nbool reversed) const override;
76 tstr<scalar> _bitwiseAnd(const scalar& rhs, nbool reversed) const override;
77 tstr<scalar> _bitwiseXor(const scalar& rhs, nbool reversed) const override;
78 tstr<scalar> _bitwiseOr(const scalar& rhs, nbool reversed) const override;
79 tstr<scalar> _lshift(const scalar& rhs, nbool reversed) const override;
80 tstr<scalar> _rshift(const scalar& rhs, nbool reversed) const override;
81
82 nbool _eq(const scalar& rhs) const override;
83 nbool _ne(const scalar& rhs) const override;
84 nbool _gt(const scalar& rhs) const override;
85 nbool _lt(const scalar& rhs) const override;
86 nbool _ge(const scalar& rhs) const override;
87 nbool _le(const scalar& rhs) const override;
88 nbool _logicalAnd(const scalar& rhs) const override;
89 nbool _logicalOr(const scalar& rhs) const override;
90
91 scalar& _mov(const scalar& rhs) override;
92 };
93} // namespace by
Collection of type converters
Definition ases.hpp:13
Base class for representing byeol objects
Definition baseObj.hpp:73
String primitive type in byeol language
Definition nStr.hpp:14
void rel() override
tstr< nStr > substr(nint start, nint end)
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
Template unidirectional container interface
Definition tucontainable.hpp:20
Bidirectional iterator for key-value containers
Definition biter.hpp:10
Definition biteration.hpp:5
to Top