로딩중...
검색중...
일치하는것 없음
asable.hpp
이 파일의 문서화 페이지로 가기
1
2
#pragma once
3
4
#include "
core/common.hpp
"
5
6
namespace
by {
7
12
class
_nout
asable
{
13
public
:
14
virtual
~asable
() =
default
;
15
16
public
:
17
virtual
nbool is(
const
type
& from,
const
type
&
to
)
const
= 0;
18
nbool is(
const
type
& from,
const
type
*
to
)
BY_SIDE_FUNC
(
to
, is(from, *
to
),
false
);
19
nbool is(
const
type
* from,
const
type
&
to
)
BY_SIDE_FUNC
(from, is(*from,
to
),
false
);
20
nbool is(
const
type
* from,
const
type
*
to
)
BY_SIDE_FUNC
(from&&
to
, is(*from, *
to
),
false
);
21
22
virtual
str
as(
const
node
& from,
const
type
&
to
)
const
= 0;
23
str
as(
const
node
& from,
const
type
*
to
)
const
BY_SIDE_FUNC
(
to
, as(from, *
to
),
str
());
24
str
as(
const
node
* from,
const
type
&
to
)
const
BY_SIDE_FUNC
(from, as(*from,
to
),
str
());
25
str
as(
const
node
* from,
const
type
*
to
)
const
BY_SIDE_FUNC
(from&&
to
, as(*from, *
to
),
str
());
26
};
27
}
by::asable
Type conversion interface
Definition
asable.hpp:12
by::node
Base class for all AST nodes in the byeol language
Definition
node.hpp:195
by::tstr< node >
by::tweak
Weak reference smart pointer with type-safe access
Definition
tweak.hpp:16
by::type
Core class for runtime type information in byeol language
Definition
type.hpp:100
BY_SIDE_FUNC
#define BY_SIDE_FUNC(...)
Side function macros for safe pointer operations
Definition
sideFunc.hpp:24
common.hpp
to Top