Chrysalis - Project Composer
Toggle main menu visibility
Loading...
Searching...
No Matches
NameProxy.h
Go to the documentation of this file.
1
#ifndef CHRYSALIS_NAMEPROXY_H
2
#define CHRYSALIS_NAMEPROXY_H
3
4
#include "Option.h"
5
#include "
PointProxy.h
"
6
#include "
ConditionProxy.h
"
7
#include "arguments/ConditionalArgument.h"
8
#include "arguments/ExpressionArgument.h"
9
#include "arguments/OptionArgument.h"
10
#include "arguments/VectorArgument.h"
11
#include "instructions/BasePatternInstruction.h"
12
#include "instructions/ExpressionInstruction.h"
13
#include "instructions/FreePointInstruction.h"
14
#include "instructions/RelativePointInstruction.h"
15
19
namespace
Chrysalis::Proxy
{
20
class
Name
{
21
public
:
22
class
Vector
;
23
class
Number
;
24
explicit
Name
(
const
std::string&
name
);
25
26
operator
args::name();
27
operator
args::number();
28
operator
const
OptionArgument*();
// NOLINT(cppcoreguidelines-explicit-constructor)
29
operator
const
PatternPointArgument*();
// NOLINT(cppcoreguidelines-explicit-constructor)
30
31
Number
operator=
(
double
value);
32
Number
operator=
(args::number&&
number
);
33
const
args::condition*
operator<
(
Name
&& other);
34
Proxy::Number::Point
operator()
(args::number&&
number
);
35
FreePointInstruction*
operator()
(
double
x,
double
y);
36
private
:
37
args::name name_;
38
};
39
Condition::Number
operator<<
(
double
value,
Name
&&
name
);
40
class
Name::Vector
{
41
public
:
42
class
Line
;
43
explicit
Vector
(args::name&&
name
,
const
args::vector* vector);
44
operator
RelativePointInstruction*();
// NOLINT(cppcoreguidelines-explicit-constructor)
45
Line
operator|
(
const
args::line* line);
46
private
:
47
args::name name_;
48
const
args::vector* vector_;
49
};
50
class
Name::Vector::Line
{
51
public
:
52
explicit
Line
(args::name&&
name
,
const
args::vector* vector,
const
args::line* line);
53
operator
RelativePointInstruction*();
// NOLINT(cppcoreguidelines-explicit-constructor)
54
private
:
55
args::name name_;
56
const
args::line* line_;
57
const
args::vector* vector_;
58
};
59
class
Name::Number
{
60
public
:
61
explicit
Number
(args::name&&
name
, args::number&&
number
);
62
operator
ExpressionInstruction*();
63
private
:
64
args::name name_;
65
args::number number_;
66
};
67
}
69
70
#endif
//CHRYSALIS_NAMEPROXY_H
ConditionProxy.h
PointProxy.h
name
#define name(arg)
Definition
Project1Composer.cpp:92
Chrysalis::Proxy::Condition::Number
Definition
ConditionProxy.h:13
Chrysalis::Proxy::Name::Number
Definition
NameProxy.h:59
Chrysalis::Proxy::Name::Number::Number
Number(args::name &&name, args::number &&number)
Definition
NameProxy.cpp:22
Chrysalis::Proxy::Name::Vector::Line
Definition
NameProxy.h:50
Chrysalis::Proxy::Name::Vector::Line::Line
Line(args::name &&name, const args::vector *vector, const args::line *line)
Definition
NameProxy.cpp:19
Chrysalis::Proxy::Name::Vector
Definition
NameProxy.h:40
Chrysalis::Proxy::Name::Vector::Vector
Vector(args::name &&name, const args::vector *vector)
Definition
NameProxy.cpp:16
Chrysalis::Proxy::Name::Vector::operator|
Line operator|(const args::line *line)
Definition
NameProxy.cpp:44
Chrysalis::Proxy::Name
Definition
NameProxy.h:20
Chrysalis::Proxy::Name::operator=
Number operator=(double value)
Definition
NameProxy.cpp:76
Chrysalis::Proxy::Name::number
operator args::number()
Definition
NameProxy.cpp:33
Chrysalis::Proxy::Name::name
operator args::name()
Definition
NameProxy.cpp:29
Chrysalis::Proxy::Name::operator()
Proxy::Number::Point operator()(args::number &&number)
Definition
NameProxy.cpp:41
Chrysalis::Proxy::Name::Name
Name(const std::string &name)
Definition
NameProxy.cpp:14
Chrysalis::Proxy::Name::operator<
const args::condition * operator<(Name &&other)
Definition
NameProxy.cpp:84
Chrysalis::Proxy::Number::Point
Definition
NumberProxy.h:37
Chrysalis::Proxy
Definition
ConditionProxy.h:9
Chrysalis::Proxy::operator<<
Condition::Number operator<<(double value, Name &&name)
Definition
NameProxy.cpp:72
pattern
composer
include
proxies
NameProxy.h
Generated by
1.17.0